docker创建远程连接的私有仓库

安装docker
安装包下载提取码ggc9

一些封装好的docker镜像,提取码:e4yf
安装服务

  • ################1.创建私有仓库
cd ~/docker
yum install -y *

开服务

systemctl start docker.service

导入私有仓库镜像

cd ../images
docker load -i registry.tar

docker创建远程连接的私有仓库_第1张图片
开启私有仓库服务,重命名镜像并且上传到仓库

docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry:2.3.1
docker tag registry:2.3.1 localhost:5000/registry
docker push localhost:5000/registry

docker创建远程连接的私有仓库_第2张图片
删除localhost:5000/registry,从仓库再下载

docker rmi localhost:5000/registry
docker pull localhost:5000/registry

docker创建远程连接的私有仓库_第3张图片

  • ###################2.创建可以远程连接的加密私有仓库

创建证书存放目录,移动到这个目录的上级目录,输入命令制作证书

mkdir -p /opt/docker/certs
cd /opt/docker
openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt

docker创建远程连接的私有仓库_第4张图片
删除无认证私有仓库的docker进程
启动注册表,指示它使用TLS证书
这个命令将/certs目录绑定到容器中/certs/,并设置环境变量来告诉容器去哪里找到/certs/domain.crt 和/certs/domain.key
注册表在端口443(默认的HTTPS端口)上运行
-v /opt/registry:/var/lib/registry 指定私有仓库的位置

docker rm -f registry
docker run -d \
--restart=always \
--name registry \
 -v `pwd`/certs:/certs \
 -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
 -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key  \
 -p 443:443 \
 -v /opt/registry:/var/lib/registry \
 registry:2.3.1

docker创建远程连接的私有仓库_第5张图片创建一个存放证书的位置,并且复制证书到这里

mkdir -p /etc/docker/certs.d/westos.org
cd /etc/docker/certs.d/westos.org
cp /opt/docker/certs/domain.crt ca.crt

docker创建远程连接的私有仓库_第6张图片
导入一个镜像,改本地解析,重命名docker并且上传到仓库

cd ~/images/
docker load -i game2048.tar
docker tag game2048:latest westos.org/game
vim /etc/hosts

172.25.16.1     server1 westos.org

docker push westos.org/game

docker创建远程连接的私有仓库_第7张图片
把docker安装包发给server2,安装后开启服务
改server2解析
docker创建远程连接的私有仓库_第8张图片
创建证书存放目录,从server1下载

mkdir -p /etc/docker/certs.d/westos.org/
scp  root@server1:/etc/docker/certs.d/westos.org/ca.crt /etc/docker/certs.d/westos.org/

下载镜像

docker pull westos.org/game

docker创建远程连接的私有仓库_第9张图片

你可能感兴趣的:(企业级部署)