10、镜像分发

本文详细介绍了如何使用Docker进行镜像的管理和分享,包括注册Docker ID,登录Docker Hub,上传和下载镜像,以及如何通过关联GitHub自动构建镜像。此外,还讲解了搭建私有Docker仓库的过程,包括配置不安全仓库,重新构建镜像,以及使用API管理私有仓库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  将自己构建的镜像分享给别人,可以将镜像上传到docker hub上。想要网docker hub上传镜像,必须先注册docker ID。注册完成之后登陆即可创建自己的仓库。

10.1 在命令行登陆docker hub

[root@docker ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: staryjie
Password:
Login Succeeded
[root@docker ~]# 

10.2 上传镜像到docker hub

[root@docker ~]# docker push staryjie/hello-docker:latest
The push refers to repository [docker.io/staryjie/hello-docker]
a49cbadde910: Pushed
latest: digest: sha256:a2396dbca89d79ee9cbe614cd8dd231b0bcd31bd920ae54844eba0f5edbe1ba5 size: 527
[root@docker ~]# 

  打开docker hub查看:

docker hub

10.3 从docker hub下载镜像

[root@docker ~]# docker pull staryjie/hello-docker
Using default tag: latest
latest: Pulling from staryjie/hello-docker
f83f369e4dd4: Pull complete
Digest: sha256:a2396dbca89d79ee9cbe614cd8dd231b0bcd31bd920ae54844eba0f5edbe1ba5
Status: Downloaded newer image for staryjie/hello-docker:latest
[root@docker ~]# 

10.4 分享Dockerfile

  docker hub支持关联GitHub,并且可以根据你GitHub上的Dockerfile自动构建镜像到docker hub。

10.5 搭建私有registry

  搭建自己的私有docker仓库:

docker run -d -p 5000:5000 --restart always --name registry registry:2

  重新构建image:

docker build -t xx.xx.xx.xx:5000/hello-docker .  # xx.xx.xx.xx是指安装了私有仓库的服务器的ip

  在push之前,我们需要进行一下操作,避免docker认为我们的私有仓库是不可信任的:

  1. 在/etc/docker/目录下创建daemon.json文件,并添加如下内容:
{"insecure-registries":["xx.xx.xx.xx:5000"]}
  1. 编辑/lib/systemd/system/docker.service文件,添加如下内容:
EnvironmentFile=-/etc/docker/daemon.json
  1. 重启docker服务
systemctl daemon-reload
systemctl restart docker

  上传镜像到私有仓库:

[root@docker ~]# docker push xx.xx.xx.xx:5000/hello-docker        # xx.xx.xx.xx是指安装了私有仓库的服务器的ip
The push refers to repository [xx.xx.xx.xx:5000/hello-docker]
f2a3b7c94098: Pushed
latest: digest: sha256:bcdc10d4923f94e6728d5c04a16201a7ac05ab9ccec80a353b0038c14f8f0080 size: 527
[root@docker ~]# 

私有的docker registry没有web界面,但是docker官方提供了一些API供我们使用。
docker registry API

浏览器访问:http://xx.xx.xx.xx:5000/v2/_catalog

转载于:https://www.cnblogs.com/jie-fang/p/10279713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值