【微服务实战之Docker容器】第三章-镜像仓库

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

系列文章目录

【微服务实战之Docker容器】第一章-下载及安装


文章目录


Docker镜像提交

  • docker commit提交容器副本使之成为一个新的镜像
  • docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
  • 案例演示ubuntu安装vim
    • 从Hub上下载ubuntu镜像到本地并成功运行
    • 原始的默认Ubuntu镜像是不带着vim命令的
    • 外网连通的情况下安装vim
    • apt-get update
    • apt-get -y install vim
    • 安装完成后commit我们自己的新镜像
    • docker commit -m=“安装了vim的镜像” -a=“hahaz” 容器ID test333/mytestu:1.0
    • 查看images发现我们自己提交的unbutu172M比拉取的多了。
    • 运行起来自带vim

本地镜像发布到阿里云

  1. 进入阿里云开发者平台。
    https://promotion.aliyun.com/ntms/act/kubernetes.html
  2. 创建仓库镜像
    选择控制台进入容器镜像服务–>选择个人实例–>命名空间–>创建命名空间(comleadertest)–>镜像仓库–>创建仓库–>输入信息–>代码源选择本地仓库–>点击创建仓库
    我们要推送镜像到阿里中心仓库使用给出的以下命令即可
    仓库镜像–> 管理即可获取到对应脚本
    在这里插入图片描述
    先使用自己的账号登录阿里云对应的是第一条命令
    在这里插入图片描述
    绑定本地镜像标签对应第二条命令
    在这里插入图片描述
    推送

在这里插入图片描述

推送成功
在这里插入图片描述

阿里云镜像下载到本地使用

先删除本地的镜像
在这里插入图片描述

查看镜像ID

docker images

根据ID删除镜像

docker rmi -f e31d10b7fc81

拉取阿里云镜像和上传一样提供的也有脚本
在这里插入图片描述

拉取
在这里插入图片描述

在这里插入图片描述

本地镜像发布到私有库

  1. 搭建本地私有的仓库中心
docker pull registry

默认情况仓库被创建在容器的/var/lib/registry目录下建议自行用容器卷映射方便于宿主机联调

 docker run -d -p 5000:5000  -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry

启动下载过的ubuntu镜像

docker run -it ubuntu /bin/bash

进入到了docker内的ubuntu命令行界面更新apt-get

apt-get update

下载安装ifconfig默认的最小镜像是不带的

apt-get install net-tools

安装完成后ifconfig已经能够使用
接下来ctrl+p+q退出容器
执行命令将容器生成新的镜像添加导本地镜像中

docker commit -m="ifconfig cmd add" -a="zzyy" a69d7c825c4f zzyyubuntu:1.2  

在这里插入图片描述
把刚才的ubuntu关掉然后启动我们的新的镜像检查ifconfig命令是否可以正常使用

docker stop 6432d7887553
docker run -it d4338649e7e9 /bin/bash
  1. curl验证私服库上有什么镜像
 curl -XGET http://192.168.248.128:5000/v2/_catalog

可以看到目前私服库没有任何镜像上传过。。。。。。
在这里插入图片描述
3. 将新镜像zzyyubuntu:1.2修改符合私服规范的Tag
(给镜像打标签可以理解为git中的将本地仓库和远程仓库相关联后边使用push命令就可以推送了)
按照公式 docker tag 镜像:Tag Host:Port/Repository:Tag

docker tag  zzyyubuntu:1.2  192.168.248.128:5000/zzyyubuntu:1.2 

在这里插入图片描述
4. 修改配置文件使私服支持http
私服一般做了安全加固默认不支持http形式的推送修改配置取消这个限制

vim /etc/docker/daemon.json

注意配置是json格式添加时要有一个逗号

,
  "insecure-registries": ["192.168.248.128:5000"]

在这里插入图片描述
修改完配置后重启docker

systemctl restart docker

重启docker后需要重启私服镜像

docker run -d -p 5000:5000  -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
  1. 将镜像推送到远程仓库
docker push 192.168.248.128:5000/zzyyubuntu:1.2

验证是否推送成功

 curl -XGET http://192.168.248.128:5000/v2/_c

在这里插入图片描述
6. 从私服拉取到本地执行
先把本地的镜像删除(把两个都删除)

docker rmi -f 192.168.248.128:5000/zzyyubuntu:1.2
docker rmi -f zzyyubuntu:1.2

删完之后检查下
然后从私服仓库重新拉取

docker pull 192.168.248.128:5000/zzyyubuntu:1.2

重新运行拉取的镜像测试下ifconfig发现成功啦。
O(∩_∩)O

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Docker

“【微服务实战之Docker容器】第三章-镜像仓库” 的相关文章