docker pull gitlab/gitlab-ce:13.10.2-ce.0
docker pull gitlab/gitlab-ce:latest
注意:下面安装以13.10.2版本为例
mkdir -p /usr/local/gitlab/etc
mkdir -p /usr/local/gitlab/log
mkdir -p /usr/local/gitlab/data
docker images
?
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:13.10.2-ce.0
?命令解释如下:
docker run
-d #后台运行,全称:detach
-p 8443:443 #将容器内部端口向外映射
-p 8090:80 #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
-p 8022:22 #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab #设置容器名称为gitlab
-v /usr/local/gitlab/etc:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/gitlab/log:/var/log/gitlab #与上面一样
-v /usr/local/gitlab/data:/var/opt/gitlab #与上面一样
--privileged=true #让容器获取宿主机root权限
gitlab/gitlab-ce:13.10.2-ce.0 #镜像的名称,这里也可以写镜像ID
docker ps
docker exec -it gitlab bash
//先进入到gitlab目录
cd /etc/gitlab
//编辑gitlab.rb文件
vim gitlab.rb
// 在gitlab创建项目时候http地址的host(不用添加端口)
external_url 'http://xx.xx.xx.xx'
?
先进入到config目录下
cd /opt/gitlab/embedded/service/gitlab-rails/config
打开编辑gitlab.yml文件
vim gitlab.yml
修改host 与上面.rb文件修改的一致,修改port 为8090
gitlab-ctl restart
exit
// 这里的gitlab 就是我们上一步docker run 当中使用--name 配置的名字
//容器外停止
docker stop gitlab
//容器外重启
docker restart gitlab
//进入容器命令行
docker exec -it gitlab bash
//容器中应用配置,让修改后的配置生效
gitlab-ctl reconfigure
注意:第一次访问默认是root账户,会需要修改密码(密码至少8位数)设置好之后确定就行
访问链接如下:?
http://XXX.XX.XX.XX:8090/