运行 Gitlab Docker

Running Gitlab Docker

我正在按照这些说明进行操作: http://doc.gitlab.com/omnibus/docker

然而 http://localhost 表示 Webpage is not available

这是我 运行 (Ubuntu 14.04 LTS) 的命令:

    ole@MKI:~$ docker version
    Client:
     Version:      1.9.1
     API version:  1.21
     Go version:   go1.4.3
     Git commit:   a34a1d5
     Built:        Fri Nov 20 17:56:04 UTC 2015
     OS/Arch:      linux/amd64

    Server:
     Version:      1.9.1
     API version:  1.21
     Go version:   go1.4.3
     Git commit:   a34a1d5
     Built:        Fri Nov 20 17:56:04 UTC 2015
     OS/Arch:      linux/amd64

    ole@MKI:~$ sudo docker run --detach \
    >     --hostname gitlab.example.com \
    >     --publish 443:443 --publish 80:80 --publish 22:22 \
    >     --name gitlab \
    >     --restart always \
    >     --volume /srv/gitlab/config:/etc/gitlab \
    >     --volume /srv/gitlab/logs:/var/log/gitlab \
    >     --volume /srv/gitlab/data:/var/opt/gitlab \
    >     gitlab/gitlab-ce:latest
    613d4d2d612f977d3d25746a169d9209acb864e57c5184083dccd02b1e4a157c

    ole@MKI:~$ docker ps
    CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS              PORTS                                                          NAMES
    613d4d2d612f        gitlab/gitlab-ce:latest   "/assets/wrapper"   4 seconds ago       Up 2 seconds        0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   gitlab

如果我重新运行 docker ps 我得到这个:

    CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                              PORTS                                                          NAMES
    613d4d2d612f        gitlab/gitlab-ce:latest   "/assets/wrapper"   9 minutes ago       Restarting (1) About a minute ago   0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   gitlab

它说 Restarting about a minute ago... ...这是否意味着内部有问题?

[编辑 - 添加日志]

  ole@MKI:~$ sudo mkdir -p /var/log/gitlab/reconfigure

  ole@MKI:~$ sudo docker run --detach \
  >     --hostname gitlab.example.com \
  >     --publish 443:443 --publish 80:80 --publish 22:22 \
  >     --name gitlab \
  >     --restart always \
  >     --volume /srv/gitlab/config:/etc/gitlab \
  >     --volume /srv/gitlab/logs:/var/log/gitlab \
  >     --volume /srv/gitlab/data:/var/opt/gitlab \
  >     gitlab/gitlab-ce:latest
  f4dee0a603bdc95594e8a77d51762f2d78d44ec077f2d57645e651ed628a4d6b

  ole@MKI:~$ docker logs
  docker: "logs" requires 1 argument.
  See 'docker logs --help'.

  Usage:    docker logs [OPTIONS] CONTAINER

  Fetch the logs of a container

  ole@MKI:~$ docker logs gitlab
  Thank you for using GitLab Docker Image!
  Current version: gitlab-ce=8.5.0-ce.1

  Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
  And restart this container to reload settings.
  To do it use docker exec:

    docker exec -it gitlab vim /etc/gitlab/gitlab.rb
    docker restart gitlab

  For a comprehensive list of configuration options please see the Omnibus GitLab readme
  https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

  If this container fails to start due to permission problems try to fix it by executing:

    docker exec -it gitlab update-permissions
    docker restart gitlab

  Preparing services...
  Starting services...
  Configuring GitLab...
  /opt/gitlab/embedded/bin/runsvdir-start: line 34: ulimit: max user processes: cannot modify limit: Operation not permitted
  /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
  [2016-02-23T01:16:47+00:00] FATAL: Failed to open or create log file at /var/log/gitlab/reconfigure/1456190207.log: Errno::ENOENT (No such file or directory @ rb_sysopen - /var/log/gitlab/reconfigure/1456190207.log)
  [2016-02-23T01:16:47+00:00] FATAL: Aborting due to invalid 'log_location' configuration
  Thank you for using GitLab Docker Image!
  Current version: gitlab-ce=8.5.0-ce.1

  Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
  And restart this container to reload settings.
  To do it use docker exec:

    docker exec -it gitlab vim /etc/gitlab/gitlab.rb
    docker restart gitlab

  For a comprehensive list of configuration options please see the Omnibus GitLab readme
  https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

  If this container fails to start due to permission problems try to fix it by executing:

    docker exec -it gitlab update-permissions
    docker restart gitlab

  Preparing services...
  Starting services...
  Configuring GitLab...
  /opt/gitlab/embedded/bin/runsvdir-start: line 34: ulimit: max user processes: cannot modify limit: Operation not permitted
  /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
  [2016-02-23T01:16:51+00:00] FATAL: Failed to open or create log file at /var/log/gitlab/reconfigure/1456190211.log: Errno::ENOENT (No such file or directory @ rb_sysopen - /var/log/gitlab/reconfigure/1456190211.log)
  [2016-02-23T01:16:51+00:00] FATAL: Aborting due to invalid 'log_location' configuration
  Thank you for using GitLab Docker Image!
  Current version: gitlab-ce=8.5.0-ce.1

  Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
  And restart this container to reload settings.
  To do it use docker exec:

    docker exec -it gitlab vim /etc/gitlab/gitlab.rb
    docker restart gitlab

  For a comprehensive list of configuration options please see the Omnibus GitLab readme
  https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

  If this container fails to start due to permission problems try to fix it by executing:

    docker exec -it gitlab update-permissions
    docker restart gitlab

  Preparing services...
  Starting services...
  Configuring GitLab...
  /opt/gitlab/embedded/bin/runsvdir-start: line 34: ulimit: max user processes: cannot modify limit: Operation not permitted
  /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
  [2016-02-23T01:16:56+00:00] FATAL: Failed to open or create log file at /var/log/gitlab/reconfigure/1456190216.log: Errno::ENOENT (No such file or directory @ rb_sysopen - /var/log/gitlab/reconfigure/1456190216.log)
  [2016-02-23T01:16:56+00:00] FATAL: Aborting due to invalid 'log_location' configuration
  Thank you for using GitLab Docker Image!
  Current version: gitlab-ce=8.5.0-ce.1

  Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
  And restart this container to reload settings.
  To do it use docker exec:

    docker exec -it gitlab vim /etc/gitlab/gitlab.rb
    docker restart gitlab

  For a comprehensive list of configuration options please see the Omnibus GitLab readme
  https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

  If this container fails to start due to permission problems try to fix it by executing:

    docker exec -it gitlab update-permissions
    docker restart gitlab

  Preparing services...
  Starting services...
  Configuring GitLab...
  /opt/gitlab/embedded/bin/runsvdir-start: line 34: ulimit: max user processes: cannot modify limit: Operation not permitted
  /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
  [2016-02-23T01:17:02+00:00] FATAL: Failed to open or create log file at /var/log/gitlab/reconfigure/1456190222.log: Errno::ENOENT (No such file or directory @ rb_sysopen - /var/log/gitlab/reconfigure/1456190222.log)
  [2016-02-23T01:17:02+00:00] FATAL: Aborting due to invalid 'log_location' configuration
  Thank you for using GitLab Docker Image!
  Current version: gitlab-ce=8.5.0-ce.1

  Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
  And restart this container to reload settings.
  To do it use docker exec:

    docker exec -it gitlab vim /etc/gitlab/gitlab.rb
    docker restart gitlab

  For a comprehensive list of configuration options please see the Omnibus GitLab readme
  https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

  If this container fails to start due to permission problems try to fix it by executing:

    docker exec -it gitlab update-permissions
    docker restart gitlab


  ole@MKI:~$ docker ps
  CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS                         PORTS                                                          NAMES
  f4dee0a603bd        gitlab/gitlab-ce:latest   "/assets/wrapper"   39 seconds ago      Restarting (1) 4 seconds ago   0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   gitlab

它仍然无法启动,即使在手动创建 /var/log/gitlab/reconfigure 之后也是如此。

我也有这个问题,通过创建一个丢失的文件夹解决了这个问题。应该是脚本自己做的。

/srv/gitlab/logs/reconfigure

将 docker 命令修改为以下内容解决了我的问题:

sudo docker run -i \
    --hostname ubuntu \
    --publish 443:443 --publish 80:80 --publish 2222:22 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    --volume /srv/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure \
    gitlab/gitlab-ce:latest

注意我使用了 -i 所以我可以看到它启动,但你可以将它设置回 --detach

按照日志中的说明进行操作:

docker exec -it gitlab update-permissions
docker restart gitlab

不使用对我有用的最新gitlab/gitlab-ce:latest图像。

但是 gitlab/gitlab-ce:9.5.4-ce.0 对我有用。

我也遇到过同样的问题。它一直在重新启动。讨论文件权限和编译错误的日志。

这是我的开始设置:

#sudo docker run -i \
sudo docker run --detach \
  --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.56.101/'; gitlab_rails['lfs_enabled'] = true;" \
  --hostname ubse-gitlab \
  --publish 443:443 --publish 80:80 --publish 23:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  --volume /srv/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure \
  gitlab/gitlab-ce:9.5.4-ce.0