Docker 安装 Git(以下在Centos7上操作,前提是已经安装过docker)
a:拉取官方的镜像
#docker pull gitlab/gitlab-ce:latest
b:运行容器
#docker run --detach \
--publish 8443:443 --publish 8080:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
--hostname
指定容器中绑定的域名,会在创建镜像仓库的时候使用到
--publish
端口映射,冒号前面是宿主机端口,后面是容器expose出的端口
--volume
volume 映射,冒号前面是宿主机的一个文件路径,后面是容器中的文件路径
c:访问Git:http://安装的所在IP:8080
特别注意:
让gitlab容器运行起来是没有问题的,但是当在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,即容器的id。
作为gitlab服务器,当然是需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机上的路径为:/data/gitlab/config/gitlab.rb)配置文件里面的参数
1.进入容器
# docker exec -it gitlab /bin/bash
2.编辑文件
# vi /etc/gitlab/gitlab.rb
3.修改
# 配置http协议所使用的访问地址
external_url 'http://10.200.0.100:8080'(记得修改为你自己的ip端口)
nginx['listen_port'] = 80
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '10.200.0.100'(记得修改为你自己的ip)
gitlab_rails['gitlab_shell_ssh_port'] = 2222
备注:以上的端口是对应的publish的端口;
4.重启配置生效
gitlab-ctl reconfigure
gitlab-ctl restart
docker restart <container name or id>
------------------------------------------------------------------
关于修改Git管理员密码
重新置管理员root密码
进入gitlab容器里面
docker exec -it <container name or id> /bin/bash
# gitlab-rails console production
查找uid为1的用户
> user = User.where(id: 1).first
配置密码为12345678
> user.password=12345678
> user.password_confirmation=12345678
保存
> user.save!
退出
> quit