服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

2021-02-28 16:44Jackson_csdn 服务器知识

这篇文章主要介绍了CentOS7.2服务器上搭建Docker私有镜像仓库操作,结合实例形式分析了基于CentOS7.2平台docker安装、证书和密钥生成、私有镜像创建与启动等操作相关命令与使用技巧,需要的朋友可以参考下

本文实例讲述了CentOS7.2服务器上搭建Docker私有镜像仓库操作。分享给大家供大家参考,具体如下:

鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库。

安装docker

?
1
2
# yum -y install docker
# systemctl start docker && systemctl enable docker

使用自签名进行安全认证

创建存放证书和密钥的certs目录

?
1
2
# mkdir -p /docker/certs
# chcon -Rt svirt_sandbox_file_t /docker/certs/

修改/etc/pki/tls/openssl.cnf配置文件

在该文件的[ v3_ca ]配置项中添加镜像仓库IP地址:

?
1
2
3
[ v3_ca ]
# Extensions for a typical CA
subjectAltName = IP:192.168.120.128

生成证书和密钥

?
1
2
3
4
5
# cd /docker && openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \
-x509 -days 365 -out certs/domain.crt
# mkdir -p /etc/docker/certs.d/192.168.120.128:5000/
# cp certs/domain.crt /etc/docker/certs.d/192.168.120.128\:5000/ca.crt

创建存放镜像文件的后端存储

?
1
2
# mkdir -p /docker/data/private_registry
# chcon -Rt svirt_sandbox_file_t /docker/data/private_registry

重新启动docker daemon

?
1
# systemctl restart docker

启动私有镜像仓库

?
1
2
3
4
5
6
7
8
9
10
# docker run \
-d \
--name private_registry --restart=always \
-u root \
-p 5000:5000 \
-v /docker/data/private_registry:/var/lib/registry \
-v /docker/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2

Docker加速器

该加速器可在pull镜像较慢时配置实用。

复制代码 代码如下:
# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://c282dc88.m.daocloud.io

 

测试

本地测试

?
1
2
3
4
5
6
7
# docker pull ubuntu
# docker tag ubuntu 192.168.120.128:5000/ubuntu
# docker pull 192.168.120.128:5000/ubuntu
Using default tag: latest
Trying to pull repository 192.168.120.128:5000/ubuntu ...
latest: Pulling from 192.168.120.128:5000/ubuntu
Digest: sha256:382452f82a8bbd34443b2c727650af46aced0f94a44463c62a9848133ecb1aa8

远程测试

在另一台主机上执行以下命令进行测试:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
# mkdir -p /etc/docker/certs.d/192.168.120.128:5000/
# scp 192.168.120.128:/etc/docker/certs.d/192.168.120.128\:5000/ca.crt /etc/docker/certs.d/192.168.120.128\:5000/
# systemctl restart docker
# docker pull 192.168.120.128:5000/ubuntu
Using default tag: latest
Trying to pull repository 192.168.120.128:5000/ubuntu ...
latest: Pulling from 192.168.120.128:5000/ubuntu
b6f892c0043b: Pull complete
55010f332b04: Pull complete
2955fb827c94: Pull complete
3deef3fcbd30: Pull complete
cf9722e506aa: Pull complete
Digest: sha256:382452f82a8bbd34443b2c727650af46aced0f94a44463c62a9848133ecb1aa8

希望本文所述对大家Docker容器使用有所帮助。

原文链接:https://blog.csdn.net/u012066426/article/details/72768229

延伸 · 阅读

精彩推荐