环境安装:

  • VirtualBox 安装 Centos7
  • 安装 docker

1. 配置私有仓库和客户端地址

私有仓库:192.168.1.104

客户端:192.168.1.103

通过 Centos 指令: yum install docker 在两台计算机中安装 docker ,可通过docker --version查看相应版本,如:

[root@localhost docker]# docker --version
Docker version 1.12.6, build 88a4867/1.12.6

注意:

  • 虚拟机的网络设置一定要选 桥接网卡
  • WindowIP 为:192.168.1.101,保证192.168.1.101、192.168.1.103、192.168.1.104三者均能互相 ping

2. 创建私有仓库(在192.168.1.104虚拟机下)

  • 启动docker服务:service docker start

  • 下载创建私有仓库的registry镜像:docker pull registry

  • 下载上传到私有仓库的镜像,这里选用ubuntudocker pull ubuntu

  • 查看拥有的image:

    [root@localhost docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/registry latest 3ebefe7c539b 3 days ago 33.19 MB docker.io/ubuntu 14.04 d5b7370807f9 4 days ago 188 MB

  • 创建私有仓库:

    docker run -p 5000:5000 docker.io/registry

  • 标记 tagd5b7image

    docker tag d5b7 192.168.1.104:5000/shy

    其中 192.168.1.104 为虚拟机 IP5000 为开启的端口号、 shy 为自己指定的名称。

  • 再次使用docker images查看 image ,发现多了一项:

    192.168.1.104:5000/shy latest d5b7370807f9 4 days ago 188 MB

  • 推送 192.168.1.104:5000/shy 至本地仓库,此时推送不成功:

    [root@localhost sysconfig]# docker push 192.168.1.104:5000/shy The push refers to a repository [192.168.1.104:5000/shy] Get https://192.168.1.104:5000/v1/_ping: http: server gave HTTP response to HTTPS client

    网上很多解决方式为:

    [root@localhost ~]# vim /etc/sysconfig/docker

    修改

    OPTIONS='--insecure-registry 192.168.1.104:5000'

    重启 docker

    [root@localhost ~]# service docker restart

    尝试之后并没有效果。

正确的解决方式:

[root@localhost docker]# vim /etc/docker/daemon.json

加入:

{"insecure-registries":["192.168.1.104:5000"]}

这句指令表示信任此私有仓库。

重启 docker

  • 重新推送 192.168.1.104:5000/shy 至本地仓库:

    [root@localhost docker]# docker push 192.168.1.104:5000/shy The push refers to a repository [192.168.1.104:5000/shy] 66de4e1063cf: Pushed e9c9caa1b034: Pushed d787e686c79f: Pushed bbad1fb7434a: Pushed 826fc2344fbb: Pushed latest: digest: sha256:2c2577062577c5d58af7cc6ac168b6dbaa6f4b5d32da07728435a06a61ad7c66 size: 1359

  • 查看是否推送成功:

    [root@localhost docker]# curl http://192.168.1.104:5000/v2/shy/tags/list {"name":"shy","tags":["latest"]}

    输出这个表示推送成功,可以在 192.168.1.103 上下载。

2. 客户端下载私有仓库的 image (在 192.168.1.103 虚拟机下)

  • 启动 docker

  • 使用命令 pull 下载:

    [root@localhost shihuayun]# docker pull 192.168.1.104:5000/shy Using default tag: latest Trying to pull repository 192.168.1.104:5000/shy ... Get https://192.168.1.104:5000/v1/_ping: http: server gave HTTP response to HTTPS client

    此时下载出错,同样的原因,在 192.168.1.103 虚拟机下:

    [root@localhost shihuayun]# vim /etc/docker/daemon.json

    加入:

    {"insecure-registries":["192.168.1.104:5000"]}

    重启 docker

  • 重新下载:

    [root@localhost docker]# docker pull 192.168.1.104:5000/shy Using default tag: latest Trying to pull repository 192.168.1.104:5000/shy ... latest: Pulling from 192.168.1.104:5000/shy 48f0413f904d: Pull complete 87474b8d0f4c: Pull complete 2b6baf792196: Pull complete 4dccbbb76bce: Pull complete fba30d3e45c8: Pull complete Digest: sha256:2c2577062577c5d58af7cc6ac168b6dbaa6f4b5d32da07728435a06a61ad7c66

    此时成功下载。

  • 查看本地 images

    [root@localhost docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.1.104:5000/shy latest d5b7370807f9 4 days ago 188 MB

[1]: http://docs.docker.com/

[2]: 杨保华、戴王剑、曹亚伦编著, Docker 技术入门与实战

[3]: http://blog.csdn.net/qq_29145989/article/details/53738280http://blog.csdn.net/qq_29145989/article/details/53738280

[4]: http://blog.csdn.net/wangtaoking1/article/details/44180901/http://blog.csdn.net/wangtaoking1/article/details/44180901/

Centos7 创建本地 docker 仓库极其遇到的问题的更多相关文章

  1. 关于创建本地docker仓库

    从远程仓库中下载regitstry镜像文件,下载后运行命令即可:docker run -p 5000:5000 -d registry

  2. CentOS7创建本地YUM源的三种方法

    这篇文章主要介绍了CentOS7创建本地YUM源的三种方法,本文讲解了使用CentOS光盘作为本地yum源.如何为CentOS创建公共镜像.创建完全自定义的本地源等内容,需要的朋友可以参考下     ...

  3. git怎么创建本地版本仓库

    git怎么创建本地版本仓库 安装git我就不用说了吧!下载地址:https://github.com/msysgit/msysgit/releases/download/Git-1.9.4-previ ...

  4. CentOS7搭建本地YUM仓库,并定期同步阿里云源

    CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...

  5. repodata创建本地YUM仓库

    参考一createrepo是linux下的创建仓库的软件包.create是创建的意思,repo是repository的缩写,是仓库的意思. yum(Yellow dog Updater,Modifie ...

  6. k8s 创建私有docker仓库 登陆授权令牌的Secret

    参考https://kubernetes.io/zh/docs/tasks/configure-pod-container/pull-image-private-registry/ Kubernete ...

  7. centos创建本地yum仓库

    怎样发布自己软件的安装和更新YUM源 在创建之前,我们先了解些相关的内容: yum仓库可以支持三种途径提供给yum在安装的时候下载rpm包 第一种:  ftp服务  ftp:// 第二种:  http ...

  8. CentOS7创建本地源过程

    1)使用yum安装http服务(主节点) yum -y install httpd 2)将httpd服务加入系统自启动服务并设置开机启动 systemctl start httpd #启动apache ...

  9. CentOS7创建本地yum源

    [root@master ~]# mkdir -p /var/www/html 使用安装系统的ISO镜像文件CentOS-7-x86_64-Everything-1611.iso 把CentOS-7- ...

随机推荐

  1. MVC客户端验证

    引用JS 注意:删除Layout里面默认引用的JQUERY,否则可能引起JS冲突. <link href="~/Content/Site.css" rel="sty ...

  2. MySQL视图view/存储过程和函数的使用

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  3. 第2阶段——编写uboot之编译测试以及改进(3)

    编译测试: 1.将写好的uboot复制到linux下面 2.make编译,然后将错误的地方修改,生成boot.bin (编译出错的解决方案:http://www.cnblogs.com/lifexy/ ...

  4. Java中死锁的简单例子及其避免

    死锁:当一个线程永远地持有一个锁,并且其他线程都尝试获得这个锁时,那么它们将永远被阻塞.比如,线程1已经持有了A锁并想要获得B锁的同时,线程2持有B锁并尝试获取A锁,那么这两个线程将永远地等待下去. ...

  5. python--对配置文件进行搜索,增加新的内容

    要求: 文件haproxy1.查 输入:www.oldboy.org 获取当前backend下的所有记录2.新建 输入: arg = {'backend': 'www.oldboy.org','rec ...

  6. 团队作业3——需求改进&系统设计

    Deadline: 2017-4-21 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的四个方面 需求&原型改进 系统设计 Alpha任务分配计划 测试计 ...

  7. Mac/Windows开发跨平台.NET Core 控制台程序

    自从微软开始在Github上开源搞.NET Core后,.NET的跨平台逐渐就成真了.多年使用各种语言,说实话还是csharp用起来最舒服.不过现在的工作环境里使用它的机会比较少,大部分时候只是用来写 ...

  8. 201521123121 《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 对象的封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现 ...

  9. Python的变量参数

  10. Java课程设计 学生基本信息管理系统 团队博客

    学生基本信息管理系统团队博客 项目git地址 https://git.oschina.net/Java_goddess/kechengsheji 项目git提交记录截图 项目功能架构图与主要功能流程图 ...