安装docker本地镜像仓库

来源:互联网 发布:伊利的网站域名有几个 编辑:程序博客网 时间:2024/06/05 17:16

安装环境: centos 3.10.0-229.el7.x86_64

安装docker包

yum install docker

启动docker服务

service docker start

运行官方镜像hello world文件,检验是否安装成功

docker run hello-world 

拉取私服注册包

sudo docker pull registry
[root@njyf-test-zxl-10-20-2-127 ~]# sudo docker pull registryUsing default tag: latestTrying to pull repository docker.io/library/registry ... latest: Pulling from docker.io/library/registry90f4dba627d6: Pull complete 3a754cdc94a5: Pull complete bf16d9b6d4c1: Pull complete 7eea83c9b7bb: Pull complete 23293c727551: Pull complete Digest: sha256:f5552e60ffd56fecbe2f04b61a3089a9cd755bd9352b6b5ab22cf2208af6a3a8

启动registry

sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/register registry
[root@njyf-test-zxl-10-20-2-127 ~]# sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/register registry3f8779bbb32f1a5fd5c6f8f2033f9e64e3a8453c2dc81e0db160a5283feeb339

查看

root@njyf-test-zxl-10-20-2-127 ~]# sudo docker psCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES3f8779bbb32f        registry            "/entrypoint.sh /etc/"   17 seconds ago      Up 16 seconds       0.0.0.0:5000->5000/tcp   grave_joliot

已经启动成功

在我本地mac机器上拉去一个echoserver,为推送到本地仓库做准备。Mac上之前已经装了docker,如果你想学习如何安装docker,参考这里吧https://docs.docker.com/get-started/#prerequisites

开始我是从默认的docker hub上下载,非常的慢,慢到无法忍受

bjjbgi-3-86:~ zhangxiaolong$ docker pull googlecontainer/echoserver:1.4Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeoutbjjbgi-3-86:~ zhangxiaolong$ docker pull googlecontainer/echoserver:1.41.4: Pulling from googlecontainer/echoserver31baf3c5ae52: Pull complete a3ed95caeb02: Pull complete 551b3b58cb23: Pull complete a38d08741281: Waiting c587ef22eeed: Download complete 3d17cbe426dd: Download complete 8cec8097f762: Download complete 326de4e8cdb3: Download complete ^C

找了个国内代理
registry.docker-cn.com/googlecontainer/echoserver:1.4

bjjbgi-3-86:~ zhangxiaolong$ docker pull registry.docker-cn.com/googlecontainer/echoserver:1.41.4: Pulling from googlecontainer/echoserver31baf3c5ae52: Pull complete a3ed95caeb02: Pull complete 551b3b58cb23: Pull complete a38d08741281: Pull complete c587ef22eeed: Pull complete 3d17cbe426dd: Pull complete 8cec8097f762: Pull complete 326de4e8cdb3: Pull complete Digest: sha256:3343977cf1635ed7205658115336253b923a18107bddc9ad47dee0e49e85e865Status: Downloaded newer image for registry.docker-cn.com/googlecontainer/echoserver:1.4

爽爽的下载下来了。

本地将其tag一个新名字

bjjbgi-3-86:~ zhangxiaolong$ sudo docker tag a90209bb39e3 10.20.2.127:5000/echoserver
jjbgi-3-86:~ zhangxiaolong$ docker imagesREPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZEhello-world                                         latest              48b5124b2768        6 months ago        1.84 kB10.20.2.127:5000/echoserver                         latest              a90209bb39e3        14 months ago       140 MBregistry.docker-cn.com/googlecontainer/echoserver   1.4                 a90209bb39e3        14 months ago       140 MB

准备push到私服上去

bjjbgi-3-86:~ zhangxiaolong$ sudo docker push 10.20.2.127:5000/echoserver

报了一个错

bjjbgi-3-86:~ zhangxiaolong$ sudo docker push 10.20.2.127:5000/echoserverThe push refers to a repository [10.20.2.127:5000/echoserver]Get https://10.20.2.127:5000/v1/_ping: http: server gave HTTP response to HTTPS client

大概就是我仓库那台机器没有配置https的原因。

解决方案:增加insecure-registries参数配置
Linux的修改方法是
在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:

{ “insecure-registries”:[“192.168.1.100:5000”] }

保存退出后,重启docker。问题解决:
http://blog.csdn.net/qq_29145989/article/details/53738280
或者
通过修改docker的配置文件“etc/systemconfig/docker”,重启docker来解决这个问题,发现docker1.12.3版本没有此文件
http://www.cnblogs.com/hobinly/p/6110624.html
mac的解决方案是
这里写图片描述

然后再push

bjjbgi-3-86:/ zhangxiaolong$ sudo docker push 10.20.2.127:5000/echoserver:1.4Password:The push refers to a repository [10.20.2.127:5000/echoserver]tag does not exist: 10.20.2.127:5000/echoserver:1.4bjjbgi-3-86:/ zhangxiaolong$ sudo docker push 10.20.2.127:5000/echoserverThe push refers to a repository [10.20.2.127:5000/echoserver]67639a8a7916: Pushed 1787713d6d5d: Pushed 5f70bf18a086: Pushed e2615e4925e2: Pushed 4cc84b7b3aba: Pushed 9f9b8efa9a34: Pushed e105cd217163: Pushed 6cc9890d69b6: Pushed latest: digest: sha256:3343977cf1635ed7205658115336253b923a18107bddc9ad47dee0e49e85e865 size: 2602

成功。

原创粉丝点击