把学习当作习惯

导航

本地镜像发布到阿里云和上传到私服

操作

docker login --username=zzyybuy registry.cn-hangzhou.aliyuncs.com
docker tag cea1bb40441c registry.cn-hangzhou.aliyuncs.com/atguiguwh/myubuntu:1.1
docker push registry.cn-hangzhou.aliyuncs.com/atguiguwh/myubuntu:1.1

本地镜像推送到私有库

# 1.下载镜像Docker Registry
docker pull registry 
# 2.默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调
docker run -d -p 5000:5000 -v /zzyy/myregistry/:/registry --privileged=true registry

案例演示创建一个新镜像,ubuntu安装ifconfig命令

# 运行一个ubuntu 容器
docker run -it ubuntu /bin/bash
# 更新apt-get
apt-get update
# 获取net-tools工具
apt-get install net-tools
# ctrl + p + q暂时挂起带有net-tools的ubuntu
# 提交此次更改
docker commit -m="ipconfig cmd add" -a="ls" 镜像id 重新定义的镜像名称:tag
# 查看有没有registry中有没有可用镜像
curl -XGET http://192.168.111.162:5000/v2/_catalog
# 将新镜像推修改为符合明明规范的Tag
docker tag 镜像:Tag Host:Port/Repository:Tag

需要修改配置文件使之支持http[root@localhost admin]# cat /etc/docker/daemon.json

{
  "registry-mirrors": ["https://adysg64g.mirror.aliyuncs.com"]
}

修改为:

{
  "registry-mirrors": ["https://adysg64g.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.0.109"]
}

上述理由:docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启docker

# 将上述镜像push推送到私服库
docker push  Host:Port/Repository:Tag

# pull到本地并运行
docker pull Host:Port/Repository:Tag

docker run -it 镜像ID /bin/bash

posted on 2024-04-24 22:14  生活的样子就该是那样  阅读(4)  评论(0编辑  收藏  举报