Gitlab CI/CD 生产环境docker化+Docker-Registry私有云实验

本文档详细介绍了如何在Ubuntu 18.04系统上搭建Gitlab CI/CD环境,包括使用Docker部署Gitlab和Gitlab-Runner,设置Docker私有仓库,并实现Runner免密登录,最终实现持续集成、持续交付和持续部署功能。
摘要由CSDN通过智能技术生成

实验环境

一共用了4台主机,预安装的Ubuntu 18.04.1 LTS系统和Docker-ce 18.09.2版本.

Registry端IP:192.168.99.100
Gitlab端IP:192.168.99.101
Runner端IP:192.168.99.102
Nginx端IP:192.168.99.103

安装使用存储库

#卸载docker,确保系统内不docker应用
$ sudo apt-get remove docker docker-engine docker.io containerd runc

#更新 apt 
$ apt-get	update

#安装包以允许apt通过HTTPS使用存储库:
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

#添加Docker的官方GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88

#设置稳定存储库
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

安装docker-ce

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

查看docker版本

$ docker version

Docker私有云

本地获取registry镜像

$ docker search registry
$ docker pull registry

创建registry容器

$ docker run -d \
--name registry	\
--restart=always \
--publish 5000:5000 \
-v /opt/data/registry:/var/lib/registry \
registry

测试私有库

$ curl -X GET http://192.168.99.100:5000/v2/_catalog
{"repositories":[]}
#因为我们还没有像私有容器提交镜像,所以这里返回空。

创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后推送它到仓库。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f09fe80eb0e7        11 days ago         109MB

$ docker tag nginx:latest 192.168.99.100:5000/nginx:nginx
$ docker push 192.168.99.100:5000/nginx:nginx 

注意事项
如果你想让本网段的其他主机也能把镜像推送到私有仓库。
你就得把例如 192.168.199.100:5000 这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。
这是因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制。

第一次执行"docker push 192.168.99.100:5000/nginx:nginx "可能报如下异常:
$ docker push 192.168.99.100:5000/nginx:nginx
The push refers to repository [192.168.99.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值