CENTOS docker拉取私服镜像

概述

docker的应用越来越多,安装部署越来越方便,批量自动化的镜像生成和发布都需要docker镜像的拉取。

centos6版本太老,docker的使用过程中问题较多,centos7相对简单容易。

本文档主要介绍centos系统安装docker和拉取docker私服镜像的步骤和问题解决。

环境

docker registry:2

centos 6 && docker 1.7.1

centos 7 && docker 24.0.6

centos6

docker安装,命令会自动安装依赖libcgroup。

yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm

docker-engine     x86_64   1.7.1-1.el6

libcgroup              x86_64   0.40.rc1-27.el6_10

启动。

sudo service docker start

查看版本。

sudo docker version

Client version: 1.7.1

Client API version: 1.19

Go version (client): go1.4.2

Git commit (client): 786b29d

OS/Arch (client): linux/amd64

Server version: 1.7.1

Server API version: 1.19

Go version (server): go1.4.2

Git commit (server): 786b29d

OS/Arch (server): linux/amd64

拉取docker私服镜像报错。

$ sudo docker pull 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

Error response from daemon: invalid registry endpoint https://10.55.55.136:5000/v0/: unable to ping registry endpoint https://10.55.55.136:5000/v0/

v2 ping attempt failed with error: Get https://10.55.55.136:5000/v2/: tls: oversized record received with length 20527

v1 ping attempt failed with error: Get https://10.55.55.136:5000/v1/_ping: tls: oversized record received with length 20527. If this private registry supports only HTTP orHTTPS with an unknown CA certificate, please add --insecure-registry 10.55.55.136:5000 to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/10.55.55.136:5000/ca.crt

报错解决方案,修改docker启动参数。

sudo vi /etc/sysconfig/docker

other_args="--insecure-registry 10.55.55.136:5000"

重启。

sudo service docker restart

重新拉取私服镜像,成功。

$ sudo docker pull 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

v1.2: Pulling from 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release

376a065e9bca: Pull complete

e8ea2a607cf1: Pull complete

da288f16cf46: Pull complete

41a8d4a923cc: Extracting [==================================================>] 412.3 MB/412.3 MB

41a8d4a923cc: Pulling fs layer

41a8d4a923cc: Pull complete

Digest: sha256:d6ea6d10cf22cff4813f877762682969369392b2922cc4020be772166ce29943

Status: Downloaded newer image for 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

centos7

centos7系统需要安装docker-ce版本。

删除centos7系统默认docker。

yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-selinux \

                  docker-engine-selinux \

                  docker-engine

安装依赖包。

yum install -y yum-utils device-mapper-persistent-data lvm2

docker-ce的yum源。

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker-ce。

yum makecache fast

yum -y install docker-ce

启动。

systemctl start docker

拉取docker私服镜像报错。

$ sudo docker pull 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

Error response from daemon: Get "https://10.55.55.136:5000/v2/": http: server gave HTTP response to HTTPS client

报错解决方案,修改docker启动参数。

sudo vi /etc/docker/daemon.json

{

       "insecure-registries":[

              "10.55.55.136:5000"

       ]

}

重启。

sudo systemctl restart docker

重新拉取私服镜像,成功。

$ sudo docker pull 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

v1.2: Pulling from zr/centos.7-fs.1.6.19-release

Digest: sha256:310545c07c5628db19032840a74c22992c5916b70c5dea3a1660181bbc48eb43

Status: Image is up to date for 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

容器导出导入

如果系统无法实现自动拉取镜像,也可以通过save功能将镜像保存为tar包,然后在宿主机上通过load加载镜像。

sudo docker save -o centos.7-fs.1.6.19-release.v1.2.tar 10.55.55.136:5000/zr/centos.7-fs.1.6.19-release:v1.2

sudo docker load -i centos.7-fs.1.6.19-release.v1.2.tar

总结

尽快切换掉centos6系统。

docker registry的私服镜像使用更方便。

docker镜像包的瘦身工作要持续进行。

空空如常

求真得真

### 如何一键配置Docker使用国内镜像 为了提高Docker在国内的下载速度,通常需要配置国内镜像源。以下是通过命令行或者脚本的方式快速完成Docker国内镜像的一键配置。 #### 使用阿里云提供的官方文档方式 可以通过修改`/etc/docker/daemon.json`文件来添加国内镜像地址。具体操作如下: 1. 创建或编辑 `/etc/docker/daemon.json` 文件: ```bash sudo nano /etc/docker/daemon.json ``` 2. 添加以下内容以指定国内镜像地址: ```json { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://mirror.ccs.tencentyun.com" ] } ``` 这里提供了两个常用的国内镜像地址作为示例[^3]。 3. 保存并退出编辑器后重启 Docker 服务使更改生效: ```bash sudo systemctl restart docker ``` #### 自动化脚本实现一键配置 如果希望进一步简化流程,可以利用现有的自动化工具或脚本来自动完成上述过程。例如,有开发者分享了一键安装和配置Docker及其Compose版本的Shell脚本[^4]。这些脚本不仅能够帮助用户迅速搭建环境,还可能内置了针对中国用户的优化选项如默认开启某些主流CDN支持。 对于只想专注于应用而不关心底层细节的技术人员来说,这种方法非常方便实用。只需执行类似下面这样的单条指令即可完成全部准备工作(假设已获到合适的脚本链接): ```bash curl -fsSL https://get.daocloud.io/docker | sh ``` 这条命令会从DaoCloud定制版installer script,并按照预设逻辑处理整个部署环节直至最终验证阶段——即运行test image确认一切正常工作为止。 另外值得注意的是,在实际生产环境中除了考虑性能外还需要兼顾安全性等因素因此建议定期更新所使用的镜像列表以及保持对官方公告的关注以便及时响应任何潜在风险警告信息。 ```python import os os.system('sudo curl -fsSL https://get.docker.com -o get-docker.sh') os.system('sudo sh get-docker.sh') print("Docker installed successfully.") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值