本文共 2050 字,大约阅读时间需要 6 分钟。
docker有公共仓库,相当于在公共仓库中存在着大量的镜像资源,但是如果本地要使用这些镜像,需要手动pull到本地,如果下次再用还需要pull,并且docker的公共仓库是在国外的,这样频繁的pull一个镜像很耗时,而且网路受限,经常容易断掉,很麻烦。所以有两个应对策略,第一个就是使用daocloud加速器,第二个就是本地搭建私有仓库,当从公共仓库中pull下来的镜像,存到本地私有仓库,下次还需要使用直接从本地下载,那速度就快很多了。
服务器IP地址为192.168.199.31(私有仓库服务器) 虚拟机名为docker1 客户端IP地址为192.168.199.32(你们的工作机) 虚拟机名为docker2
由于httpd镜像非常难下载,单用docker很难成功,这里采用docker加速器——daocloud,,进行账户注册,登录点开控制台,点加速器,具体操作daocloud会一步一步的引导,十分方便。Daocloud同时还可以作为docker的Web UI Manager对docker的容器,镜像进行管理。
下面进行一步一步详解操作步骤:
# service daomonit restart
本人已经将试验中的两个节点加入到daocloud中:
由于下载了daocloud,只需要用如下命令就可以下载httpd镜像了
# dao pull httpd
# docker images
# docker tag httpd 127.0.0.1:5000/httpd
# docker push 127.0.0.1:5000/httpd
http://192.168.199.31:5001/v1/search
客户端同样可以可以看出来: # curl 127.0.0.1:5000/v1/search
# docker pull 192.168.199.31:5000/httpd
# docker images
完成下载!
# dao pull centos
查看下载后的镜像: # docker images
打标签,并且查看打完标签后的镜像名称: # docker tag centos 127.0.0.1:5000/centos7
# docker push 127.0.0.1:5000/centos7
并在后端查看是否私有仓库中包含了此镜像:命令为: # curl http://127.0.0.1:5000/v1/search
同时,用浏览器查看私有仓库是否包含centos7镜像:
# docker pull 192.168.199.31:5000/centos7
# docker run -i -t 192.168.199.31:5000/centos7 /bin/bash
如图所示:就相当于进入了centos7的另一个虚拟机一样,操作都雷同。
# yum -y install httpd
按ctrl+D退出,输入docker ps -a
此时记下,centos7的容器id为c62a3398a6e0
# docker commit c62a3398a6e0 192.168.199.31:5000/centos7/httpd
确保万一,查看是否有该镜像:
# docker push 192.168.199.31:5000/centos7/httpd
# curl http://127.0.0.1:5000/v1/search或者 # curl http://192.168.199.31:5000/v1/search
浏览器同样也可以访问: