1、Docker Hub公共仓库推送镜像
1.1在Docker Hub上申请账号
https://hub.docker.com
1.2命令行登录账号
docker login //输入用户名 密码
1.3退出账号
docker logout
1.4查看官网镜像
docker search tomcat //stars数字越大,此镜像越可靠 越有可能是官网镜像
1.5拉取镜像
docker pull tomcat //拉取tomcat镜像
1.6推送镜像
docker login //登录Docker Hub
docker images //查看本地镜像 选择推送hello-world镜像
docker tag <IMAGE ID> sainazuoan1/hello-world:latest //改镜像名称 dockerHub用户名/镜 像名:tag
docker images //发现sainazuoan1/hello-world:latest和hello-world的<IMAGE ID>相同,因 此为同一个镜像
docker push sainazuoan1/hello-world:latest //推送镜像
1.7查看是否推送成功
注意⚠️:刚推送成功,立刻查找时 可能会找不到,需要等一会儿。
1.7.1 search命令方式查找
docker search sainazuoan1/hello-world:latest // sainazuoan1/hello-world:latest为镜像名称
1.7.2 浏览器方式查找
https://hub.docker.com
推送的镜像默认是private
2、创建本地私有仓库并使用
2.1安装运行docker-registry
docker run --name registry -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry registry //-v将镜像文件存放在本地路径
将容器的/var/lib/registry registry挂载到宿主机的/opt/data/registry
2.2 镜像推送到本地仓库
docker ps -a //查看本地运行的容器
docker images
docker tag session-web:latest 127.0.0.1:5000/session-web:latest //给镜像重命名
docker image ls
docker push 127.0.0.1:5000/session-web:latest //推送镜像到本地仓库
2.3 查看推送到本地仓库的镜像
curl 127.0.0.1:5000/v2/_catalog //显示下图 则推送成功
2.4 从本地仓库拉取镜像
2.4.1查看此镜像是否在容器运行
docker ps -a //查看此镜像是否在容器运行 若存在 则删除此容器
docker rm -f <容器短ID> //删除容器
2.4.2删除本地镜像
docker image ls
docker image rmi 127.0.0.1:5000/session-web:latest
2.4.3 拉取镜像
docker pull 127.0.0.1:5000/session-web:latest
docker images //查看拉取下来的镜像
3、本网段主机也能推送到私有仓库
vim /etc/docker/daemon.json
此文件内容如下:
{
“registry-mirror”:[“https://registry.docker-cn.com”],
“insecure-registries”:[“192.168.61.168:5000”]
}
注意⚠️:192.168.61为宿主机网段。192.168.61.168为宿主机ip。
设置后则192.168.61网段的其它机器也可以推送镜像到私有仓库。
部署私有仓库的宿主机ip:192.168.100.100