#1:拉取gitlab镜像 docker pull gitlab/gitlab-ce ? #2:生成挂载目录 mkdir -p /usr/local/gitlab/config mkdir -p /usr/local/gitlab/log mkdir -p /usr/local/gitlab/data #3:启动容器(用的时候调整下命令,为了便于查看,有换行符) ?docker run -d ? ?-p 443:443 -p 8001:80 -p 222:22 ?--name gitlab-dev --restart always --privileged=true ? -v /usr/local/gitlab/config:/etc/gitlab??? #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建 -v /usr/local/gitlab/log:/var/log/gitlab??? #与上面一样 -v /usr/local/gitlab/data:/var/opt/gitlab?? #与上面一样 ?gitlab/gitlab-ce
示例启动命令(windows):?docker run -d??? -p 443:443 -p 8001:8001 -p 222:22?? --name gitlab-dev --restart always --privileged=true??? -v E:\Docker\Gitlab\config:/etc/gitlab?? -v E:\Docker\Gitlab\log:/var/log/gitlab?? -v E:\Docker\Gitlab\data:/var/opt/gitlab?? gitlab/gitlab-ce
【–privileged=true 要加上,不然可能因为权限问题导致启动失败】
此时访问是有界面了,如果网络不可用或者502,就再等个几分钟,此时容器尚未启动完全
二、调整gitlab配置
# 通过打开映射出来的配置文件(windows右击打开编辑) vim /usr/local/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80(这里需要改成8001,因为外面的HTTP 克隆地址会根据这里生成 ,gitlab的页面访问端口也会改变) external_url 'http://127.0.0.1:8001'
# 配置ssh协议所使用的访问地址和端口(这里需要改成222,因为外面的SSH 克隆地址会根据这里生成 ) gitlab_rails['gitlab_ssh_host'] = '127.0.0.1' gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
# 重启gitlab容器 ?docker restart gitlab-dev
三、root密码修改
# 进入容器内部 docker exec -it gitlab-dev /bin/bash
# 进入控制台 gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员 user = User.where(id:1).first # 修改密码为root123456(密码需要超过八位别单独出现某种字符) user.password='root123456' # 保存 user.save! # 退出 exit
|