根据Docker视频教程,自己总结的相关技术要点摘要
到阿里云
- 登录阿里云控制台
- 容器镜像服务
- 实例列表
- 创建命名空间
- 创建镜像仓库
- 镜像仓库中点击“管理”,按照基本信息-操作指南 中的命令操作即可
到私服库
需要先用官方提供的Docker Registry工具创建私有镜像仓库
下载registry镜像
docker pull registry
运行私有库Registry,相当于本地有个私有Docker hub
docker run -d -p 5000:5000 -v /data/docker_registry/:/tmp/registry --privileged=true registry
默认情况,仓库被创建在容器的
/var/lib/registry
目录下,建议自行用容器卷映射,方便宿主机联调
案例:演示在ubuntu容器里创建一个新镜像
以交互方式运行ubuntu容器
docker run -it unbuntu /bin/bash
更新包
apt-get update
ubuntu安装ifconfig命令
apt-get install net-tools
需要重启下ubuntu容器后就能执行
ifconfig
命令
安装完成后,commit我们自己的新镜像
docker commit -m="ubuntu add ifconfig cmd" -a="luckbin" 容器ID luckbin/ubuntu-ifconfig:1.0
启动新镜像并和原来的对比
curl验证私服库上有什么镜像
curl -XGET http://IP:5000/v2/_catalog
得到如下结果
{"repositories":[]}
将新镜像luckbin/ubuntu-ifconfig:1.0
修改符合私服规范的TAG
docker tag luckbin/ubuntu-ifconfig:1.0 IP:5000/luckbin/ubuntu-ifconfig:1.0
修改配置文件使之支持http,默认不支持
vim /etc/docker/daemon.json
编辑文件,在文件末尾添加如下代码
"insecure-registries":["宿主机IP:5000"]
重启registry容器使之生效
systemctl restart registry
push推送到私服库
主要推送符合私服规范的TAG的镜像
docker push IP:5000/luckbin/ubuntu-ifconfig:1.0
curl验证私服库上有什么镜像
curl -XGET http://IP:5000/v2/_catalog
得到如下结果
{"repositories":["luckbin/ubuntu-ifconfig"]}
pull到本地并运行
可以先把本地的
luckbin/ubuntu-ifconfig
镜像删除掉后再尝试pull到本地,这样可以更直观的看到效果
本地所有镜像列表
[root@xxx /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 0d153fadf70b 5 days ago 24.2MB
tomcat latest 2362f0cdbf14 2 weeks ago 474MB
ubuntu latest 58db3edaf2be 3 weeks ago 77.8MB
执行pull私服库命令
docker pull IP:5000/luckbin/ubuntu-ifconfig:1.0
再次列出本地所有镜像,即可看到IP:5000/luckbin/ubuntu-ifconfig
镜像
docker images
谢谢观看,如果对您有帮助的话,麻烦点个赞鼓励下,谢谢!