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

2025-05-27 0 34

本文实例讲述了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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 行业资讯 CentOS7.2服务器上搭建Docker私有镜像仓库操作示例 https://www.kuaiidc.com/67938.html

相关文章

发表评论
暂无评论