一、仓库简介
仓库是集中存放镜像的地方,分为公共仓库跟私有仓库。
需要注意的是,注册服务器(registry)是存放仓库的服务器,一个注册服务器可以有多个仓库,每个仓库下面可以有多个镜像。
可以理解为注册服务器就是货船,集装箱就是仓库,集装箱里面的货物就是镜像
镜像分为官方提供的镜像跟用户提供的镜像
在OFFICIAL列显示OK的为官方提供的镜像。
带有用户前缀的为用户提供的镜像。
二、公共仓库
下面介绍使用公共仓库存放我们的镜像。
2.1 注册一个账号
首先注册并登录docker官方网站
2.2 创建自己的公共仓库
2.3 登录hubdocker
这里的Username和Password就是注册hubdocker的账户跟密码
docker login
Username: tz90
Password:
Login Succeeded
2.4 修改标签
修改镜像名,镜像名一定要修改为hubdocker账户名/镜像名:标签
docker tag busybox tz90/busybox:latest
2.5 上传镜像
docker push tz90/busybox:latest
2.6 查看上传的镜像
搜索上传的镜像
三、第三方镜像市场
3.1 第三方镜像仓库
第三方镜像仓库有腾讯云,网易云,阿里云,时速云,其中时速云无法注册使用,其他正常。
3.2 下载镜像
下面以腾讯云为例,注册登陆搜索复制仓库地址要一气呵成!
1)随便选一个ubuntu的镜像下载
2)选择镜像信息,复制仓库地址
3)然后使用如下命令下载
docker pull ccr.ccs.tencentyun.com/qcloud/ubuntu
#改个名字,原来的名字太长了
docker tag ccr.ccs.tencentyun.com/qcloud/ubuntu ubuntu:latest
四、搭建本地仓库
我们可以使用registry镜像来搭建一个本地私有仓库,方便内网环境的机器使用。
4.1 下载registry镜像
docker run -d -v /opt/registry:/var/lib/registry -p 5555:5000
--restart=always --name registry registry
:'
-v:将宿主机目录/opt/registry挂载到容器目录/var/lib/registry
-p:将宿主机端口5555映射为容器的端口5000
--restart=always:如果容器出现意外终止就重新启动
'
4.2 给镜像重新打标记
docker tag ubuntu:18.04 10.154.0.110:5555/ubuntu:18.04
:'
需要将镜像重新打标记,格式为IP:端口/镜像名:标签
IP地址为宿主机的IP地址
端口为宿主机端口
'
4.3 加入可信任
将私有仓库加入可信任,否则上传时会报错
vim /etc/docker/daemon.json
{
"insecure-registries":["10.154.0.110:5555"]
}
systemctl daemon-reload
systemctl restart docker
如果没加入会出下如下报错
4.4 上传镜像
docker push 10.154.0.110:5555/ubuntu:18.04
4.5 查看镜像
访问宿主机查看上传的镜像
curl http://10.154.0.110:5555/v2/_catalog
4.6 下载镜像
下载上传到私有仓库的镜像
docker pull 10.154.0.110:5555/httpd:latest
五、参考资料
《Docker技术入门与实践》第三版