拉取指定版本的gitlab-ce
[root@192 ~]# docker pull gitlab/gitlab-ce:latest
创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
mkdir -p /data/gitlab/etc
mkdir -p /data/gitlab/log
mkdir -p /data/gitlab/data
启动gitlab
docker run -it -d
-p 2222:22 \
-p 8099:80 \
-p 4443:443 \
-v /data/gitlab/etc:/etc/gitlab \
-v /data/gitlab/log:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
--name gitlab \
--restart always \
--privileged=true gitlab/gitlab-ce:latest
配置gitlab
进入容器
docker exec -it gitlab bash
修改gitlab.rb文件
//先进入到gitlab目录
cd /etc/gitlab
//编辑gitlab.rb文件
vim gitlab.rb
修改gitlab.rb文件中的IP与端口号
// 在gitlab创建项目时候http地址的host,内部端口为80,不要加端口号
external_url ‘http://xx.xx.xx.xx’
//配置ssh协议所使用的访问地址和端口
gitlab_rails[‘gitlab_ssh_host’] = ‘192.168.XX.XX’ //和上一个IP输入的一样
gitlab_rails[‘gitlab_shell_ssh_port’] = 2222 // 此端口是run时22端口映射的2222端口
:wq //保存配置文件并退出
重启gitlab
docker restart gitlab
此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址:端口号。
浏览器访问:http://192.168.59.129:8099/
首次登录,管理员账号的账号名为 root,而密码在一个自动生成的文件 /etc/gitlab/initial_root_password 中(密码不会含空格),且会在 24 小时后自动被删除。登陆后需要重置密码。