docker入门(四)访问docker仓库

1.1.Docker Hub公共镜像市场

官方地址为:https://hub.docker.com

1.1.1.登录

docker login命令来输入用户信息,成功后会在当前用户创建~/.docker/config.json文件来保存认证信息

1.2.1.基本操作

用户可直接通过docker search 和docker pull来查找和下载镜像

根据是否为官方提供,镜像分为2类:

  • 由docker公司创建维护的镜像,这样的镜像往往使用单个单词作为名字,如:centos
  • 由odcker用户维护的镜像,名字一般带有用户名称为前缀,表示某个用户下的某个仓库,由用户维护。可以通过用户名称前缀“user_name/镜像名”来指定使用某个用户提供的镜像。如:ansible/centos7-ansible

1.3.1.自动创建

自动创建(Automated Builds)是docker hub提供的自动化服务,这一功能可以自动跟随项目代码的变更而重新构建镜像。

例如用户构建了某个应用镜像,如果发了新版本,需要手动更新。而自动创建允许用户通过docker hub指定跟踪某个目标网站(目前支持github或bitbucket)上的项目,一但项目发生新的提交,则自动执行创建。

要配置自动创建,包括以下步骤:

  1. 创建并登录docker hub,以及目标网站如github
  2. 在目标网站中允许docker hub访问服务
  3. 在docker hub中配置一个“自动创建”类型的项目
  4. 选取一个目标网站中的项目(需要dockerfile)和分支
  5. 指定dockerfile的位置,并提交创建

        之后,可以再docker hub的“自动创建”页面中跟踪每次创建的状态。

2.1.第三方镜像市场

不少云服务器商提供了镜像的下载和加速,如:腾讯云、阿里云

2.1.1.查看镜像

访问各云服务器商镜像官网

2.1.2.下载镜像

docker pull index.tenxcloud.com/docker_library/node:latest

下载后可以更新标签,保持与官方标签一致,方便使用

docker tag index.tenxcloud.com/dpcker_library/node:latest node:latest

3.1.搭建本地私有仓库

假如本机10.0.0.2

3.1.1.使用registry镜像搭建私有仓库

下载并启动一个registry容器,穿件本地的私有仓库服务。因为默认情况下仓库存放地址会是/var/lib/registry目录,我们不希望他在那的话就接-v参数改掉,如果无所谓就去掉-v参数的内容-v /opt/data/registry:/var/lib/registry

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2

3.2.1.管理私有仓库

现在私有仓库的地址为10.0.0.2:5000

来上传试试吧

docker tag ubuntu:18.04 10.0.0.2:5000/test
docker push 10.0.0.2:5000/test
##用curl查看仓库10.0.0.2:5000中的镜像
curl http://10.0.0.2:5000/v2/search

比较新的docker版本对安全性要求比较高,会要求仓库支持SSL/TSL证书。对内使用的私有仓库,可以自行配置证书或者关闭对私有仓库的安全性检查

  • 首先修改docker deamon的启动参数,如下,表示信任这个库,不进行安全检查
    DOCKER_OPTS="--insecure-registry 10.0.0.2:5000"
  • 重启docker服务并下载镜像到本地
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    docker pull 10.0.0.2:5000/test

 4.1.本章小结

仓库是集中维护容器镜像的地方,为镜像文件的分发和管理提供了便捷的途径。

在企业生产环境中,往往需要使用私有镜像仓库来维护内部镜像,本文介绍了一些基础的搭建操作。

除了官方的registry项目外,我们还可以使用其他的开源方案(例如nexus)来搭建私有镜像仓库。

原文地址:https://www.cnblogs.com/xysr-tom/p/12492877.html