Docker 仓库管理 | 菜鸟教程

1 发布镜像

Docker @3 镜像-2.png

1.1 发布镜像到阿里云

一、通过 DockerFile 或者基于基础镜像 commit 成新镜像

二、进入“阿里云开发者平台” —— “云服务器 ECS” —— “容器镜像服务” —— “实例列表” —— “个人实例” —— “命名空间” —— “创建命名空间” —— “镜像仓库” —— “创建镜像仓库” —— 创建镜像后,对新建的镜像仓库选择“管理”,获得脚本。

三、将镜像推送到阿里云

560

四、镜像下载到本地

docker pull registry.cn-hangzhou.aliyuncs.com/atguiguwh/myubuntu:1.1

1.2 发布镜像到私有库

# 下载镜像 Registry
docker pull registry
 
# 运行私有库 Registry,相当于本地有个私有 Docker hub
# 默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调
docker run -d -p 5000:5000  -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
 
# 创建一个新镜像
docker pull ubuntu
docker run -it ubuntu /bin/bash
apt-get update
apt-get install net-tools
docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2
 
# 验证私有 Docker hub 上有什么镜像(空的)
curl -XGET http://192.168.111.162:5000/v2/_catalog
 
# 打 Tag
# docker tag 镜像:Tag Host:Port/Repository:Tag
docker tag  zzyyubuntu:1.2  192.168.111.162:5000/zzyyubuntu:1.2
 
# 修改配置文件使之支持 http
# docker 默认不允许 http 方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启 docker
# 注意 IP 地址是使用 Docker hub 的地址,镜像是阿里云的镜像加速地址,可能会失效
cat /etc/docker/daemon.json
---
{
	"registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
	"insecure-registries" : ["192.168.111.162:5000"]
}
 
# push 镜像到私有 docker hub
docker push 192.168.111.162:5000/zzyyubuntu:1.2
 
# 验证私有 Docker hub 上有什么镜像
curl -XGET http://192.168.111.162:5000/v2/_catalog
 
# pull 到本地执行
docker pull 192.168.111.162:5000/zzyyubuntu:1.2
docker run -it 镜像ID /bin/bash