概述

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镜像包的瘦身工作要持续进行。

空空如常

求真得真

CENTOS docker拉取私服镜像的更多相关文章

  1. docker拉取oracle11g镜像配置

    开始拉取oracle11g镜像 下载过程稍长,镜像大小6.8G(之前拉取过了,所以就不截图了) #docker pull registry.cn-hangzhou.aliyuncs.com/helow ...

  2. Window中的Docker 拉取Mysql镜像 并在本地Navicate链接

    首先本地   拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6   下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 doc ...

  3. kubernetes实战篇之创建密钥自动拉取私服镜像

    系列目录 前面我们讲解了如何搭建nexus服务器,以及如何使用nexus搭建docker私有镜像仓库,示例中我们都是手动docker login登陆私服,然后通过命令拉取镜像然后运行容器.然而这种做法 ...

  4. Docker 拉取Nginx镜像 和运行

    Docker 镜像拉取 docker pull [OPTIONS] NAME[:TAG|@DIGEST] 镜像拉取命令 OPTIONS说明: -a :拉取所有 tagged 镜像 --disable- ...

  5. Linux下使用docker 拉取 vsftpd 镜像搭建 Ftp 服务器,连接 Ftp 时遇到的错误(425 Failed to establish connection)

    Ftp踩坑系列: Linux上的ftp服务器 vsftpd 之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传 ftp服务器Serv-U 设置允许自动创建不存在的目录 FTP ...

  6. 【docker】解决docker pull镜像 拉取镜像龟速的问题,docker拉取镜像使用阿里云docker镜像加速器

    在docker拉取mysql镜像过程中,出现龟速的问题,解决这个问题的方法: 这个页面 停留了好久好久,依旧没有下载完成. 碰上这种情况 1.先退出Ctrl+C 2.在浏览器上进入阿里云docker库 ...

  7. [Docker]Docker拉取,上传镜像到Harbor仓库

    需求 因为项目的需求,需要制作一个基于tomcat的镜像.那么前提就是,需要有tomcat的基础镜像. 怎么做 我的思路跑偏了,本来以为是需要将tomcat下载下来,然后通过docker命令,让它成为 ...

  8. docker拉取镜像报错:net/http: TLS handshake timeout.

    docker拉取镜像报错:net/http: TLS handshake timeout. 启动一个后台的busybox容器 [yunva@node1 network-scripts]$ docker ...

  9. docker每次都重新拉取远程镜像的问题

    将镜像上传到远程之后,dockerfile按理来说只需一次拉取远程镜像就好了,之后每次都是使用第一次拉取的远程镜像. 但是实际上出现的问题是:dockerfile每次都从远程拉取镜像,浪费了资源和时间 ...

  10. 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息

    在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...

随机推荐

  1. Excel单元格快速交换相邻位置内容

    一.相邻两列内容交换(A1与B1交换)1.首先选择A1单元格的边框位置,出现了向上下左右的十字标志 2.此时按住shift键,并且拖向B1单元格的右边,出现"工"汉字标志 3.松开 ...

  2. mysql锁初识

    MySQL锁的粒度分为:行级锁.表级锁.页级锁. 一.行级锁(INNODB引擎) 行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁. 行级锁能大大减少数据库操作的冲突.其加锁粒 ...

  3. java开发面试笔记

    目录 1.hashMap hashmap源码分析-逐行注释版: 2.线程池 3.MySQL数据库引擎.事务.锁机制 1. 引擎 2. 事务 索引 3. 锁: 4. 调优问题怎么回答? 4.SQL语句 ...

  4. 理解并掌握C#的Channel:从使用案例到源码解读(一)

    引言 在C#的并发编程中,Channel是一种非常强大的数据结构,用于在生产者和消费者之间进行通信.本文将首先通过一个实际的使用案例,介绍如何在C#中使用Channel,然后深入到Channel的源码 ...

  5. scnhealthcheck

    在CPU补丁中,Oracle提供了一个脚本 scnhealthcheck.sql 用于检查数据库当前SCN的剩余情况.该脚本的算法和以上描述相同,最终将最大合理SCN 减去当前数据库SCN,计算得出一 ...

  6. day1 C语言:对于P1055 ISBN号码的代码优化及多解

    day1 C语言:对于P1055 ISBN号码的代码优化及多解 先看题目 直接说最优解,其他方法后置 第一部分 1.第一个点是数据的输入,本人第一的想法是直接用int类型去接受数据,但因为" ...

  7. Unity EditorWindow GUI裁剪

    Unity2017,想在编辑器自己实现一个类似TreeView的东西 public void OnGUI(Rect rect) { // ... for (int i = 0; i < 100; ...

  8. CSS 单行/多行文本溢出显示省略号(...)的实现

    作者:WangMin 格言:努力做好自己喜欢的每一件事 我们在项目开发的过程中也许都遇到过这样的问题:我们需要实现这样一个需求,在一个父级元素中隐藏一个可能过长的文本.而这个需求可以分解为两个,一个是 ...

  9. 电路中的N.M.缩写含义

    国外的一些电路中会发现在一些器件旁会有 N.M. 的标注. N.M. = Not Mount

  10. 关于MM32F001无法debug的问题

    以下问题仅来自于个人的调试发现和猜测, 并不代表芯片有任何问题. 实际上我也仅仅是试用了一下. 主要发现芯片总是被锁住(FLASH被写保护?),具体如下: (1) 内存溢出时芯片被写保护, 导致再次d ...