仓库(Repository)是集中存放镜像的地方。每个服务器可以有多个仓库,每个仓库可以有多个镜像。仓库可以被认为是一个具体的项目或者目录。仓库分为共有库和私有库。
一、Docker Pub
Docker Pub是Docker官方的一个公共仓库(https://hub.docker.com),可以用公共库直接下载镜像。
登录:执行docker login命令输入用户名、密码、邮箱来完成注册和登录。本地用户目录的.dockercfg中将保存用户的认证信息。
搜索镜像:使用docker search命令来查找公共库中的镜像,然后用docker pull命令下载镜像到本地。
二、Docker Pool
Docker Pool(http://www.dockerpool.com)是国内专业的Docker技术社区。可以从该网站直接下载相关基础镜像,下载镜像要在镜像名称前加注册服务器的具体地址dl.dockerpool.com:5000。从该网站下载的镜像与官方镜像是完全一样的,只是是国内的速度快,毕竟从国外网站下载很慢。
三、创建和使用私有库
1、使用registry镜像创建私有库
[root@localhost /]# sudo docker run -d -p 5000:5000 registry
Unable to find image 'registry:latest' locally
Trying to pull repository docker.io/library/registry ...
latest: Pulling from docker.io/library/registry
49388a8c9c86: Pull complete
638c4c5f80c0: Pull complete
da6c9df08ef4: Pull complete
ee7e568878e6: Pull complete
386d4eddd833: Pull complete
Digest: sha256:0694e05b6d0b5fed892ddc60358758bd8341c9a6497ac185f93fc4c93c689810
eb79b4fee900b021120b7355764f332a64dbe171c4085f2b74883f8c8f291d6c
自动下载并启动一个registry容器,创建本地的私有仓库服务。可以通过-v参数来将镜像文件存放在宿主机的指定路径上。
[root@localhost /]# docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
c38f487f9a534b539129a6a8c1791839491708d7dd7f0048d1d3f60c449ce65e