mkdir -p /etc/docker
https://xxxxxxxx.mirror.aliyuncs.com 此地址是在阿里云容器镜像服务下的镜像加速器里分配的.
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5、安装Gitlab准备工作
5.1获取gitlab镜像包
docker pull gitlab/gitlab-ce 这里的Community Edition (CE)表示社区标本,
5.2 在本机准备gitlab工作目录
mkdir -p /home/gitlab/config 创建config目录
mkdir -p /home/gitlab/logs 创建logs目录
mkdir -p /home/gitlab/data 创建data目录
5.3 运行脚本启动GitLab
docker run --detach \
--hostname 192.168.1.150 \
--publish 7001:443 --publish 7002:80 --publish 7003:22 \
--name gitlab --restart always \
--volume /home/gitlab/config:/etc/gitlab \
--volume /home/gitlab/logs:/var/log/gitlab \
--volume /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
参数说明:
detach 指定容器运行于前台还是后台
hostname 指定主机地址,如果有域名可以指向域名
publish 指定容器暴露的端口,左边的端口代表宿主机的端口,右边的是代表容器的端口
name 给容器起一个名字,
restart always 总是重启
volume 数据卷,在docker中是最重要的一个知识点.
备注:gitlab/gitlab-ce代表阿里云拉下的镜像Id
如有WARNING: IPv4 forwarding is disabled. Networking will not work.
解决办法:
# vim /usr/lib/sysctl.d/00-system.conf
添加如下代码:
net.ipv4.ip_forward=1
重启network服务
# systemctl restart network
5.4 修改gitlab.rb配置文件
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)配置有三个参数如:
external_url 'http://192.168.1.150'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.150'
gitlab_rails['gitlab_shell_ssh_port'] = 7003
5.5 重启gitlab容器
docker restart gitlab
5.6 登录
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)
第一次进入要输入新的root用户密码,设置好之后确定就行
5.7 GitLab常用命令
gitlab-ctl reconfigure // 重新应用gitlab的配置
gitlab-ctl restart // 重启gitlab服务
gitlab-ctl status // 查看gitlab运行状态
gitlab-ctl stop // 停止gitlab服务
gitlab-ctl tail // 查看gitlab运行日志