images的发布和私有仓库

images发布到docker hub

首先登录https://hub.docker.com注册自己的账号,然后创建仓库
接着将我们之前的一个镜像打tag,tag的形式为id/镜像名:版本, id就是dockerhub的id。

1
2
3
4
5
6
7
#登录
docker login
#给镜像打标签
docker tag status secondtonone1/status
#查看打标签后的镜像
docker images
docker push secondtonone1/status

之后登录docker hub网址就能看到我们的仓库了
如果将本地的镜像删除,再次pull,就可以从docker-hub中拉取刚才提交的镜像

1
2
3
4
#删除本地镜像
rmi secondtonone1/status
#拉取远程镜像
docker pull secondtonone1/status

搭建私有仓库

可以拉取registry镜像搭建私有仓库

1
docker pull registry:2

然后启动镜像

1
docker run -d -v /home/zack/dockerwork/registry -p 5000:5000 --restart always --name myregistry registry:2

可以从其他机器telnet这个台机器的5000端口,保证端口畅通
生成一个新的镜像,镜像名字要用这台机器的 地址:端口/镜像名

1
docker build -t 81.68.86.146:5000/comsig .

此时可以尝试提交镜像,由于镜像仓库未配置权限信息,所以会提交失败。
此时进入/etc/docker下,修改daemon.json文件

1
2
3
4
{
"registry-mirrors": ["https://hya0o79u.mirror.aliyuncs.com"],
"insecure-registries": ["81.68.86.146:5000"]
}

registry-mirrors是阿里云加速地址,insecure-registries是我们配置的私有仓库的地址。
接着修改dockerservice配置, sudo vim /lib/systemd/system/docker.service
添加

1
EnvironmentFile=-/etc/docker/aemon.json

接下来 push我们的镜像到私有仓库

1
docker push 81.68.86.146:5000/comsig

可以去docker官网
https://docs.docker.com/registry/spec/api/#catalog
查看相应的registry的api, 进而获取私有仓库信息。
在浏览器输入81.68.86.146:5000/v2/_catalog
可以看到结果如下
{“repositories”:[“comsig”]}

个人公众号

wxgzh.jpg