10镜像分发
Posted jie-fang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10镜像分发相关的知识,希望对你有一定的参考价值。
??将自己构建的镜像分享给别人,可以将镜像上传到docker hub上。想要网docker hub上传镜像,必须先注册docker ID。注册完成之后登陆即可创建自己的仓库。
10.1 在命令行登陆docker hub
[[email protected] ~]# 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
[[email protected] ~]#
10.2 上传镜像到docker hub
[[email protected] ~]# docker push staryjie/hello-docker:latest
The push refers to repository [docker.io/staryjie/hello-docker]
a49cbadde910: Pushed
latest: digest: sha256:a2396dbca89d79ee9cbe614cd8dd231b0bcd31bd920ae54844eba0f5edbe1ba5 size: 527
[[email protected] ~]#
??打开docker hub查看:
10.3 从docker hub下载镜像
[[email protected] ~]# 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
[[email protected] ~]#
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认为我们的私有仓库是不可信任的:
- 在/etc/docker/目录下创建daemon.json文件,并添加如下内容:
{"insecure-registries":["xx.xx.xx.xx:5000"]}
- 编辑/lib/systemd/system/docker.service文件,添加如下内容:
EnvironmentFile=-/etc/docker/daemon.json
- 重启docker服务
systemctl daemon-reload
systemctl restart docker
??上传镜像到私有仓库:
[[email protected] ~]# 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
[[email protected] ~]#
私有的docker registry没有web界面,但是docker官方提供了一些API供我们使用。
docker registry API
浏览器访问:http://xx.xx.xx.xx:5000/v2/_catalog
以上是关于10镜像分发的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段