docker私有仓库

微笑、不失礼 提交于 2019-12-04 10:22:38

应用场景

docker有公共仓库,相当于在公共仓库中存在着大量的镜像资源,但是如果本地要使用这些镜像,需要手动pull到本地,如果下次再用还需要pull,并且docker的公共仓库是在国外的,这样频繁的pull一个镜像很耗时,而且网路受限,经常容易断掉,很麻烦。所以有两个应对策略,第一个就是使用daocloud加速器,第二个就是本地搭建私有仓库,当从公共仓库中pull下来的镜像,存到本地私有仓库,下次还需要使用直接从本地下载,那速度就快很多了。

操作步骤

1. 准备

服务器IP地址为192.168.199.31(私有仓库服务器) 虚拟机名为docker1
客户端IP地址为192.168.199.32(你们的工作机) 虚拟机名为docker2

2. 操作

2.1 安装daocloud

由于httpd镜像非常难下载,单用docker很难成功,这里采用docker加速器——daocloud,访问地址,进行账户注册,登录点开控制台,点加速器,具体操作daocloud会一步一步的引导,十分方便。Daocloud同时还可以作为docker的Web UI Manager对docker的容器,镜像进行管理。

下面进行一步一步详解操作步骤:

  • 1、登录http://www.daocloud.io/ 进行注册,如下图所示,然后点击加速器;

这里写图片描述

  • 2、点击立即开始,进入界面

这里写图片描述

  • 3、这里选择centos,因为试验用的系统是centos7.1

这里写图片描述

  • 4、下面选安装好了,接下来把页面跳出的命令输入到你所安装docker的虚拟机上

这里写图片描述

  • 5、最终显示接入成功,然后在本地虚拟机输入,启动daocloud加速器
  #  service daomonit restart

本人已经将试验中的两个节点加入到daocloud中:

这里写图片描述

2.2 下载httpd

由于下载了daocloud,只需要用如下命令就可以下载httpd镜像了

 #  dao pull httpd

这里写图片描述

2.3 查看images

 # docker images

这里写图片描述

2.4 查创建镜像链接或为基础镜像打个标签

 # docker tag httpd 127.0.0.1:5000/httpd

这里写图片描述

2.5 将镜像上传至服务器

 # docker  push  127.0.0.1:5000/httpd 

这里写图片描述

2.6 浏览器访问私有仓库的镜像,多了httpd

 http://192.168.199.31:5001/v1/search

这里写图片描述

客户端同样可以可以看出来:
 # curl 127.0.0.1:5000/v1/search

这里写图片描述

2.7 客户端从私有仓库上进行下载(注:在客户端执行)

 # docker  pull  192.168.199.31:5000/httpd

这里写图片描述

2.8 在客户端查看镜像(在客户端)

 # docker  images

这里写图片描述

完成下载!

3. 从服务器下载centos7镜像,然后安装httpd后,创建新的模版镜像上传至服务器

3.1 下载centos镜像

 # dao pull centos

这里写图片描述

3.2 为centos基础镜像打个标签

查看下载后的镜像:
 # docker images

这里写图片描述

打标签,并且查看打完标签后的镜像名称:
 # docker tag centos 127.0.0.1:5000/centos7

这里写图片描述

3.3 将镜像上传至服务器

 # docker  push  127.0.0.1:5000/centos7

这里写图片描述

并在后端查看是否私有仓库中包含了此镜像:
命令为:
 # curl http://127.0.0.1:5000/v1/search 

同时,用浏览器查看私有仓库是否包含centos7镜像:

这里写图片描述

3.4 在客户端下载私有服务器镜像

 # docker pull 192.168.199.31:5000/centos7

这里写图片描述

3.5 在客户端的镜像中运行centos7镜像

 # docker run -i -t 192.168.199.31:5000/centos7 /bin/bash

这里写图片描述

如图所示:就相当于进入了centos7的另一个虚拟机一样,操作都雷同。

3.6 在容器中安装httpd程序

 # yum   -y  install  httpd

这里写图片描述

这里写图片描述

 按ctrl+D退出,输入docker ps -a

这里写图片描述

此时记下,centos7的容器id为c62a3398a6e0

3.7 把安装httpd的centos7仓库做成新的镜像

 # docker  commit c62a3398a6e0  192.168.199.31:5000/centos7/httpd

这里写图片描述

确保万一,查看是否有该镜像:

这里写图片描述

3.8 把新的镜像从客户端上传到私有仓库中

 # docker push 192.168.199.31:5000/centos7/httpd

这里写图片描述

3.9 查看私有仓库中是否有该镜像

 # curl http://127.0.0.1:5000/v1/search
或者  # curl http://192.168.199.31:5000/v1/search

这里写图片描述

浏览器同样也可以访问:

这里写图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!