1 获取镜像
dockerpull gitlab/gitlab-ce
2 查看镜像
docker images
3 从gitlab镜像启动容器
docker run
-d
-h gitlab
-p 443:443
-p 80:80
-p 2222:22
--name gitlab
--restart always
-v /root/data/gitlab/config:/etc/gitlab
-v /root/data/gitlab/logs:/var/log/gitlab
-v /root/data/gitlab/data:/var/opt/gitlab
/gitlab/gitlab-ce
-d 后台启动
-h 域名
-p 端口映射
-name 容器名称
-restart always 当容器退出或宿主机重启的时候,容器接着会始终重启
-v 给容器添加一个数据卷
4 修改gitlab容器的配置文件
docker exec -it gitlab vi /etc/gitlab/gitlab.rb
修改external_url ' http://192.168.1.161' 本机IP
重启docker restart gitlab
5 访问gitab http://115.159.84.173
初次使用会设置root的密码
注册用户
6 新建项目
7 本地安装git
设置用户名 gitconfig --global user.name=注册的用名
设置邮箱 gitconfig --global user.email=注册的邮箱
8 生成SSH Keys
ssh-keygen -t rsa -C"your.email@example.com" -b 4096
生成两个文件私钥id_rsa 和公钥id_rsa.pub 将两个文件放入如下文件夹中
用记事本打开id_rsa.pub将内容复制到Key中点击AddKey
修改本地git的配置文件Port 为2222 docker映射的本地端口
9 一些注意事项
(1)因为docker容器的端口映射本机端口2222 因此需要修改本地git ssh_config 中的Port 为2222,如果不想修改则需要修改docker容器主机的ssh 22端口为其他端口,然后把docker 中gitlab 22端口映射为本机的22端口。网上有挺多的如下图的问题,这个问题困扰了我很久(;′⌒`)
(2)重启gitlab 初次访问时会出现502等,稍等一会在访问即可
(3)重启docker容器是会出现docker网络问题
在宿主机执行:
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
docker -d
systmctl restart docker
重启docker服务