一、在centos7.5成功安装docker
二、拉取镜像
docker pull gitlab/gitlab-ce
三、生成挂载目录
mkdir -p /usr/local/docker/gitlab/etc
mkdir -p /usr/local/docker/gitlab/log
mkdir -p /usr/local/docker/gitlab/data
四、启动容器
sudo docker run --detach \
--publish 8443:443 --publish 8180:8180 --publish 8022:22 \
--name gitlab \
--restart always \
--volume /usr/local/docker/gitlab/etc:/etc/gitlab \
--volume /usr/local/docker/gitlab/log:/var/log/gitlab \
--volume /usr/local/docker/gitlab/data:/var/opt/gitlab \
--shm-size 256m \
registry.gitlab.cn/omnibus/gitlab-jh:latest
--detach:#后台运行
--publish 8443:443 - #将容器内部端口向外映射
--publish 8180:8180 #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
-publish 8022:22 #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab #设置容器名称为gitlab
#将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
--privileged=true #让容器获取宿主机root权限
五、修改配置
docker exec -it gitlab /bin/bash
vi /etc/gitlab/gitlab.rb
// 修改如下语句
external_url 'http://192.168.1.111:8180'
nginx['listen_port'] = 8180
# 配置2222端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022
六、重新加载配置
gitlab-ctl reconfigure
七、退出容器重启,第一次启动比较长时间
docker restart gitlab
八、访问
http://192.168.56.11:8180/
九、初始化密码
docker exec -it gitlab /bin/bash
cd /etc/gitlab
cat initial_root_password
十、修改密码
# 进入容器内部
docker exec -it gitlab /bin/bash
# 进入控制台
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为123456
user.password='123456'
# 保存
user.save!
# 退出
exit;