一、创建容器
准备工作:
- 在环境变量中添加
GITLAB_HOME
,比如我的为D:\Users\quanzaiyu\.docker\datas\gitlab
,命令:setx GITLAB_HOME D:\Users\quanzaiyu\.docker\datas\gitlab
- 在 hosts 文件中添加
127.0.0.1 gitlab.xiaoyulive.top
,以便通过浏览器访问
通过以下命令创建一个GitLab容器:
docker run --detach --hostname gitlab.xiaoyulive.top ^
--publish 10443:443 --publish 8080:80 --publish 8022:22 ^
--name gitlab ^
--restart always ^
--volume %GITLAB_HOME%\config:/etc/gitlab ^
--volume %GITLAB_HOME%\logs:/var/log/gitlab ^
--volume %GITLAB_HOME%\data:/var/opt/gitlab ^
gitlab/gitlab-ee
如果想要安装中文版,可以使用社区中文版:
docker run -d --hostname gitlab.xiaoyulive.top ^
-p 10443:443 -p 8080:80 -p 8022:22 ^
--name gitlab ^
--restart always ^
-v %GITLAB_HOME%\config:/etc/gitlab ^
-v %GITLAB_HOME%\logs:/var/log/gitlab ^
-v %GITLAB_HOME%\data:/var/opt/gitlab ^
--privileged=true ^
twang2218/gitlab-ce-zh
但是创建好之后,我们访问 http://gitlab.xiaoyulive.top:8080/ 会发现无法访问:
二、修改配置
进入容器:
docker exec -it gitlab bash
进行如下配置:
$ vim /etc/gitlab/gitlab.rb
# 在gitlab创建项目时候http地址的host(不用添加端口)
external_url 'http://gitlab.xiaoyulive.top'
// 在gitlab创建项目时候ssh地址的host(不用添加端口)
gitlab_rails['gitlab_ssh_host'] = 'gitlab.xiaoyulive.top'
# docker run 的时候我们把22端口映射为外部的8022了
gitlab_rails['gitlab_shell_ssh_port'] = 8022
$ vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
port: 8080
重新配置并重启GitLab:
gitlab-ctl reconfigure
gitlab-ctl restart
再次访问 http://gitlab.xiaoyulive.top:8080/ ,可以看到页面正常打开了: