docker部署
gitlab部署
创建gitlab容器
#下载gitlab镜像
docker pull gitlab/gitlab-ce:15.10.1-ce.0
#运行镜像
docker run \
-itd \
-p 8880:80 \
-p 8822:22 \
-v /home/gitlab/etc:/etc/gitlab \
-v /home/gitlab/log:/var/log/gitlab \
-v /home/gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce:15.10.1-ce.0
#讲解
-i #以交互模式运行容器,通常与 -t 同时使用命令解释
-t #为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d #后台运行容器,并返回容器ID
-p 8880:80 #将容器内80端口映射至宿主机8880端口,这是访问gitlab的端口
-p 8822:22 #将容器内22端口映射至宿主机8822端口,这是访问ssh的端口
-v /home/gitlab/etc:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
--restart always #容器自启动
--privileged=true #让容器获取宿主机root权限
--name gitlab #设置容器名称为gitlab
gitlab/gitlab-ce:15.10.1-ce.0 #镜像的名称,这里也可以写镜像ID
修改配置
#首先查看容器ID
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
986d9d104290 gitlab/gitlab-ce:15.10.1-ce.0 "/assets/wrapper" 2 hours ago Up 12 minutes (healthy) 443/tcp, 0.0.0.0:8822->22/tcp, :::8822->22/tcp, 0.0.0.0:8880->80/tcp, :::8880->80/tcp gitlab
#进入容器
docker exec -it 986d /bin/bash
#修改gitlab配置文件
vi /etc/gitlab/gitlab.rb
#这个本来就有,只需把‘’里的内容换掉
external_url 'http://192.168.100.10'
#后面两个需要手动添加,加在external_url 'http://192.168.100.10'下面就可以
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.100.10'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 8822
#加载配置
gitlab-ctl reconfigure
# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
gitlab:
host: 192.168.100.10
port: 8880# 这里改为8880
https: false
#重启
gitlab-ctl restart
#退出
exit
多等几分钟,浏览器访问192.168.100.10:8880,汉化的话去看GitLab与jekins结合构建持续集成(cl)环境(1)
里面有写