本文介绍了在docker环境下如何安装gitlab并修改ssh、http端口配置,以及在docker环境下如何将gitlab内部路径挂载到宿主机等操作。
安装命令
//完整运行指令
docker run --detach --publish 8443:8443 --publish 8888:8888 --publish 8222:22 --name gitlab --volume /home/gitlab/etc:/etc/gitlab --volume /home/gitlab/log:var/log/gitlab --volume /home/gitlab/data:var/opt/gitlab --privileged=true beginor/gitlab-ce:latest
命令讲解
//使用docker运行指定镜像
docker run
//表示让容器后台运行
--detach
//指定端口映射,前面是宿主机端口后面是容器内部端口
--publish 8443:8443
//指定路径挂载,前面是宿主机路径后面是容器内部路径
--volume /home/gitlab/etc:/etc/gitlab
//使当前容器在外部真正拥有root权限,一般是需要执行读写、shell脚本的容器需要加上
--privileged=true
//目标镜像名称,若镜像本地不存在;则会默认从dockerhub中拉取
beginor/gitlab-ce:latest
修改配置
当gitlab容器完全跑起来后,找到宿主机挂载目录 /home/gitlab/etc/gitlab.rb
文件(本案例挂载的目录为 /home/gitlab/etc
具体路径根据自己实际挂载目录来 ), 并使用vi编辑器打开,命令如下;
vi /home/gitlab/etc/gitlab.rb
vi编辑器打开 gitlab.rb
文件后,按 INSERT
键进入编辑模式;将 external_url
gitlab_rails
配置改成自己配置的IP和端口后,按 ESC
键结束编辑;最后输入 :wq
保存;
//IP地址和端口改成自己配置的
external_url 'http://192.168.31.141:8888'
//SSH开放端口改成自己配置的
gitlab_rails['gitlab_shell_ssh_port'] = 8222
最后重启gitlab容器即可生效
docker restart gitlab(容器名或者镜像ID)
写在最后
若容器跑起来后提示无权限 permission denied
或 docker exec -it gitlab update-permissions
,可按这篇文章里的方法试试 解决docker安装gitlab权限不足问题permission denied ;如果gitlab不想装docker里了,可参考这篇文章有详细安装步骤 linux安装gitlab并修改配置文件