1. 查询镜像
docker search gitlab
2. 拉取镜像
docker pull gitlab/gitlab-ce
3. 启动镜像
(1)创建配置、数据、日志本机挂载目录
(2)启动参数说明
-d 后台运行容器,并返回容器ID
-p 80:80 将容器内80端口映射至宿主机80端口,这是访问gitlab的端口
-p 443:443 将容器内443端口映射至宿主机443端口,这是访问ssh的端口
--name gitlab 设置容器名称为gitlab
--restart always 容器自启动
-v gitlab-config-vol:/etc/gitlab 将容器/etc/gitlab目录挂载到创建的数据卷 gitlab-config-vol目录下
--privileged=
true
让容器获取宿主机root权限
gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID
(3)启动镜像命令
docker run -d --name gitlab_hj -p 80:80 -p 443:443 -v E:\docker-data\gitlab\config:/etc/gitlab -v E:\docker-data\gitlab\logs:/var/log/gitlab -v E:\docker-data\gitlab\data:/var/opt/gitlab --restart always --privileged=true gitlab/gitlab-ce
#更改端口映射后无法使用
docker run -d --name gitlab_hj -p 9980:80 -p 9443:443 -p 9922:22 -v E:\docker-data\gitlab\config:/etc/gitlab -v E:\docker-data\gitlab\logs:/var/log/gitlab -v E:\docker-data\gitlab\data:/var/opt/gitlab --restart always --privileged=true gitlab/gitlab-ce
(4)修改配置
C:\WINDOWS\system32>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
082d22b3de5a gitlab/gitlab-ce "/assets/wrapper" 4 minutes ago Up 4 minutes (healthy) 0.0.0.0:80->80/tcp, 22/tcp, 0.0.0.0:443->443/tcp gitlab_hj
C:\WINDOWS\system32>docker exec -it 082d22b3de5a /bin/bash
root@082d22b3de5a:/# cd etc/gitlab/
root@082d22b3de5a:/etc/gitlab# ls
gitlab-secrets.json gitlab.rb initial_root_password ssh_host_ecdsa_key ssh_host_ecdsa_key.pub ssh_host_ed25519_key ssh_host_ed25519_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub trusted-certs
root@082d22b3de5a:/etc/gitlab# vi gitlab.rb
root@082d22b3de5a:/etc/gitlab#
配置如下:
## GitLab configuration settings
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://127.0.0.1'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 443
(5)重新加载配置gitlab-ctl reconfigure
C:\WINDOWS\system32>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
082d22b3de5a gitlab/gitlab-ce "/assets/wrapper" 4 minutes ago Up 4 minutes (healthy) 0.0.0.0:80->80/tcp, 22/tcp, 0.0.0.0:443->443/tcp gitlab_hj
C:\WINDOWS\system32>docker exec -it 082d22b3de5a /bin/bash
root@082d22b3de5a:/# cd etc/gitlab/
root@082d22b3de5a:/etc/gitlab# ls
gitlab-secrets.json gitlab.rb initial_root_password ssh_host_ecdsa_key ssh_host_ecdsa_key.pub ssh_host_ed25519_key ssh_host_ed25519_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub trusted-certs
root@082d22b3de5a:/etc/gitlab# vi gitlab.rb
root@082d22b3de5a:/etc/gitlab# gitlab-ctl reconfigure
(6) 重新启动 gitlab-ctl restart
(7) http://localhost进入页面
(8)输入root管理账号及密码,密码位置
root@082d22b3de5a:/etc/gitlab# cat initial_root_password
参考:
使用Docker搭建自己的GitLab服务 - Hello——寻梦者! - 博客园 (cnblogs.com)
(16条消息) Docker 搭建 Gitlab 服务器 (完整详细版)_Touch&的博客-CSDN博客_docker gitlab服务器