
ulm0/gitlab443(如果配置HTTPS)8080(由Unicorn使用)22(由SSH守护进程使用)注意: 发布端口的格式为
hostPort:containerPort。有关更多信息,请参阅Docker关于[公开传入端口][docker-ports]的文档。
警告: 不要使用端口
8080,否则会发生冲突。此端口已由容器内部运行的Unicorn使用。
如果要为容器使用不同于80(HTTP)或443(HTTPS)的端口,需要向docker run命令添加单独的-p指令。
例如,要在端口8929上公开Web界面,在端口2289上公开SSH服务,请使用以下docker run命令:
bashdocker run -d \ --hostname gitlab.example.com \ -p 8929:80 -p 2289:22 \ --name gitlab \ --restart always \ -v /srv/gitlab/config:/etc/gitlab \ -v /srv/gitlab/logs:/var/log/gitlab \ -v /srv/gitlab/data:/var/opt/gitlab \ ulm0/gitlab
然后需要相应配置gitlab.rb:
设置external_url:
sh# 对于HTTP external_url "[***]" 或 # 对于HTTPS(注意https) external_url "[***]"
有关更多信息,请参阅NGINX文档。
设置gitlab_shell_ssh_port:
rbgitlab_rails['gitlab_shell_ssh_port'] = 2289
按照上述示例,您将能够通过Web浏览器在<hostIP>:8929访问GitLab,并通过端口2289使用SSH推送。
使用不同端口的docker-compose.yml示例可在docker-compose部分找到。
读取容器日志:
bashdocker logs gitlab
进入运行中的容器:
bashdocker exec -it gitlab /bin/bash
在容器内,您可以像管理Omnibus安装一样管理GitLab容器。
使用Docker Compose,您可以轻松配置、安装和升级基于Docker的GitLab安装。
安装Docker Compose
创建docker-compose.yml文件(或下载示例):
yamlweb: image: 'ulm0/gitlab' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url '[***] # 在此处添加任何其他gitlab.rb配置,每行一个 ports: - '80:80' - '443:443' - '22:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab'
确保您位于docker-compose.yml所在的目录,并运行docker-compose up -d启动GitLab
阅读"预配置Docker容器"以了解GITLAB_OMNIBUS_CONFIG变量的工作方式。
以下是另一个docker-compose.yml示例,GitLab在自定义HTTP和SSH端口上运行。注意GITLAB_OMNIBUS_CONFIG变量如何与ports部分匹配:
yamlweb: image: 'ulm0/gitlab' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url '[***] gitlab_rails['gitlab_shell_ssh_port'] = 2224 ports: - '9090:9090' - '2224:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab'
这与使用-p 9090:9090 -p 2224:22相同。
如果您已使用docker-compose安装GitLab,只需运行docker-compose pull和docker-compose up -d即可下载新版本并升级GitLab实例。
GitLab Docker镜像也可以部署到各种容器调度平台。
在树莓派3或任何其他ARM开发板上运行镜像可能需要一些sysctl值才能正常运行并获得良好性能。
您只需在/etc/sysctl.conf的末尾添加以下内容:
shkernel.sem = 250 32000 32 262 kernel.shmall = *** kernel.shmmax = 4294967295 net.core.somaxconn = 1024
可以使用nano或vim完成(例如sudo nano /etc/sysctl.conf)。
完成后,需要将这些值加载到系统中,运行cat /etc/sysctl.conf /etc/sysctl.d/*.conf | sudo sysctl -e -p -,主机将准备好运行GitLab docker镜像。
更新Docker镜像时,您可能会遇到所有路径显示500页面的问题。如果发生这种情况,请尝试运行docker restart gitlab重启容器以解决问题。
从较旧的GitLab Docker镜像更新时,您可能会遇到权限问题。这是因为以前镜像中的用户未正确保留。有一个脚本可以修复所有文件的权限。
要修复容器,只需执行update-permissions,然后重启容器:
bashdocker exec gitlab update-permissions docker restart gitlab
[docker-

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务