拉取gitlab最新镜像
docker pull gitlab/gitlab-ce:latest
docker images查看下载的镜像
运行命令
docker run -d
-p 8080:80
-p 8022:22
--name gitlab
--restart always
-v /Users/xuhao/Documents/docker/gitlab/config:/etc/gitlab
-v /Users/xuhao/Documents/docker/gitlab/logs:/var/log/gitlab
-v /Users/xuhao/Documents/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
命令解释:
-d 后台运行容器,并返回容器ID
-p 8080:80 将容器内80端口映射至宿主机8080端口,这是访问gitlab的端口
-p 8022:22 将容器内22端口映射至宿主机9922端口,这是访问ssh的端口
-v 是将容器的目录挂在到宿主的目录,如果宿主没有该路径,会自动创建
gitlab/gitlab-ce 镜像的名称
修改gitlab.rb配置
增加如下配置
external_url 'http://192.168.0.103'
gitlab_rails['gitlab_ssh_host'] = '192.168.0.103'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
重启容器
xuhao@xuhaodeMacBook-Pro ~ % docker restart 4f5aa80d5f6bc01a53c50952d5e28b26d5ae8c3d33a67aecec56cf6718fbb365
访问页面
稍等一会访问http://192.168.0.103:8080/
修改root用户密码
进入gitlab容器中
#查看正在运行的docker容器
docker ps
#进入gitlab容器,4f5aa80d5f6b是CONTAINER ID。容器ID
docker exec -it 4f5aa80d5f6b bash
进入gitlab控制台
gitlab-rails console -e production
#返回root用户
user = User.where(id: 1).first
user.password = '密码,大于8位,不能过于简单'
user.password_confirmation = '密码'
#执行保存
user.save!