1、拉取镜像
docker pull gitlab/gitlab-ce
2、启动gitlab
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
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 #镜像名称
3、配置gitlab
3.1 配置gitlab.rb
docker exec -it gitlab bash
vi /etc/gitlab/gitlab.rb #ip和端口号
// 添加下面的命令
// gitlab在创建项目时候http地址的host,不需要添加端口
external_url 'http://ip' # 服务器的IP地址
gitlab_rails['gitlab_ssh_host'] = 'ip' # 服务器的IP地址
gitlab_rails['gitlab_shell_ssh_port'] = 8022
3.2 配置gitlab.yml文件
将host和port修改成ip+8090
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
重启服务
gitlab-ctl restart
3.3 查看初始化密码
cat /etc/gitlab/initial_root_password
退出容器
exit
3.4浏览器访问gitlab
默认root账户
访问地址:ip:8090