本文实例讲述了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 |
相关文章
猜你喜欢
- 服务器租用价格怎么计算?服务器租用多少钱一年? 2025-05-27
- 云服务器的“弹性”体现在哪些方面? 2025-05-27
- 刀片服务器是什么 刀片服务器的主要特点 2025-05-27
- 利用FTP和计划任务自动备份网站数据和数据库 2025-05-27
- 服务器技术之硬件冗余技术 2025-05-27
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
完美解决Windows10下无法对docker容器进行端口访问的操作
2025-05-27 34 -
星外虚拟主机管理系统自动备份SQL2000/Mysql的工具
2025-05-25 42 -
2025-05-27 21
-
VMware Workstation与Device/Credential Guard不兼容
2025-05-27 65 -
2025-05-27 95
热门评论