实验准备:
1.下载docker registry
2.运行私有库Registry,相当于本地有个私有Docker hub
3.准备一个初始ubuntu镜像,ubuntu安装ifconfig命令
1.下载镜像 registry
docker pull registry #下载Registry,相当于本地有个私有Docker hubdocker images #查看下载的镜像
2.运行私有库Registry,相当于本地有个私有Docker hub
docker run -d -p 5000:5000 -v -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry
#-d 守护进程后台运行 #-p 5000:5000 指定端口映射
3.创建容器,安装ifconfig
docker run -itd ubuntu:latest /bin/bash #创建容器
#d6db81bcd7c5c831b4513d8dc4cf693a2edd38425e14f992bd7f06afa5e57ae1
docker exec -it d6 /bin/bahs #进入容器
apt-gt update #更新
apt-get install net-tools #安装ifconeig
ifconfig #安装完成后 输入ifconfig就可以看到容器内部IP
4.安装完成ifconfig后,commit我们自己的新镜,完成后用新commit的镜像 创建一个容器 看容器内是否有ifconfig
#公式:docker commit -m "提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:【标签名】
docker commit -m "ifconfig" -a="tianbao" d6db81bcd7c5 ubuntu:1.2 #commit新的镜像
docker run -itd ubuntu:1.2 /bin/bash #创建容器
docker exec -it 05 /bin/bash #进入容器
ifconfig #查看IP
exit #退出
5.curl验证私服库上有什么镜像
curl -XGET http://39.xx.xx.xx:5000/v2/_catalog #自己主机的IP地址
{"repositories":[]} #返回这个是空的
6.将新镜像ubuntu:1.2 修改符合私服规范的TAG
#docker tag 镜像:tag Host:Prot/Repository:TAG #ip自己主机本地IP地址
docker tag ubuntu:1.2 39.XX.XX.XX:5000/ubuntu:1.2
#docker tag 将本地镜像文件 改成 IP+私服端口+我们对应的镜像名称和版本
7.修改配置文件使之支持http docker是默认不支持http来推送文件的,如果改完不生效 重启下docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://egcypsit.mirror.aliyuncs.com"], #阿里云镜像加速
"insecure-registries": ["39.XX.XX.XX.XX:5000"] #取消docker中https限制
}
8.push推送到私服库
docker push 39.XXX.XX.XX:5000/ubuntu:1.2
bd2bd68bf120: Pushed
9f54eef41275: Pushed
1.2: digest: sha256:e9c6c8a96c5d787ed300b5658d9cf5be3bf5aed0a448b1ae68a0879b563f4275 size: 741
9.curl 验证私服库上有什么镜像
curl -XGET http://39.xx.xx.xx:5000/v2/_catalog
{"repositories":["ubuntu"]} #可以看到这次有了刚上传的镜像
10.pull到本地并运行 可以看到成功运行
docker pull 39.XX.XX.XX:5000/ubuntu:1.2
1.2: Pulling from ubuntu
7b1a6ab2e44d: Already exists
e6a01ca71b6f: Pull complete
Digest: sha256:e9c6c8a96c5d787ed300b5658d9cf5be3bf5aed0a448b1ae68a0879b563f4275
Status: Downloaded newer image for 39.XX.XX.XX:5000/ubuntu:1.2
39.XX.XX.XX:5000/ubuntu:1.2
