介绍常用的镜像发布方式
发布到阿里云:
实际项目会使用阿里云企业版实例,且上传到阿里云相较于自行搭建 docker 仓库更为常见
镜像文件上传:
将镜像文件发布到阿里云进行保存,类似于将代码上传到 Git
主要步骤:
1. 登录阿里云找到容器镜像服务
2. 创建命名空间
3. 在刚才创建的命名空间中创建镜像仓库
4. 设置访问凭证密码
5. 执行镜像仓库页中的命令
镜像仓库创建完成后找到访问凭证,创建固定密码
创建固定密码后依次执行“镜像仓库 - 基本信息”中锦像推送命令即可
镜像文件下载:
对本地刚才上传到阿里云的镜像文件及其对应容器进行删除,重新按照“镜像仓库 - 基本信息”中的拉取锦像操作进行镜像文件下载
发布到私有仓库:
使用 Docker Registry 搭建私有仓库,类似与搭建 GitHub 上传代码
下载仓库镜像:
执行命令:docker pull registry
运行仓库镜像:
默认情况,仓库被创建在容器的 /var/lib/registry 目录下,通常会自行用容器卷映射方便于宿主机联调
执行命令:docker run -d -p 5000:5000 -v /zzyyuse/myregistry/:/tmp/registry —privileged=true registry
查看当前仓库中的镜像:
验证私服库上有什么镜像
操作命令: curl -XGET http://本地主机ip:5000/v2/_catalog
将目标镜像改名为仓库规范:
操作命令:docker tag 镜像:Tag Host:Port/Repository:Tag
取消 Http 限制:
docker registry 默认不允许使用 Http 方式推送镜像,需要对配置文件进行修改,对其添加 “insecure-registries“ 参数
旧版本 docker 修改配置文件不生效,需要重新启动 docker 并重新运行仓库镜像
修改配置文件命令:vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
"insecure-registries": ["本机IP:5000"]
}
推送镜像:
操作命令: docker push 改名的镜像名称:版本号
下载镜像:
对本地刚才上传到私有仓库的镜像文件及其对应容器进行删除,对其重新进行下载
操作命令:docker pull 改名后的镜像名称:版本号