docker搭建私有仓库

一.服务端仓库(ip:192.168.2.25)
1.拉取registry
docker pull registry

2.运行
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

参数说明
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;
-v:把宿主机的/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;
--restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;
--name registry:创建容器命名为registry,你可以随便命名;
registry:latest:这个是刚才pull下来的镜像;

3.测试
[root@registry ~]# curl http://127.0.0.1:5000/v2/_catalog
{"repositories":[]}

因为没有镜像,所以是空的


二.客户端

1.修改下镜像源并重启docker服务
#vi /etc/docker/daemon.json
{
"registry-mirrors": [ "https://registry.docker-cn.com"]
}

# systemctl restart docker

2.拉取一个镜像
#docker pull nginx

3.打标签
#docker tag docker.io/nginx:latest 192.168.2.25:5000/nginx:laster

格式说明:Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker.io/nginx:latest 这是源镜像,也是刚才pull下来的镜像文件;
192.168.2.25:5000/nginx:laster:这是目标镜像,也是registry私有镜像服务器的IP地址和端口;

4.修改以http方式上传到镜像服务器,并重启docker
#vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["192.168.2.25:5000"]
}
#systemctl restart docker

5.上传镜像
#docker pull 192.168.2.25:5000/nginx:laster

6.删除本地镜像
#docker rmi -f $(docker images -aq)

7.拉取镜像
#docker pull 192.168.2.25:5000/nginx:laster

8.列出所有镜像
#curl 192.168.2.25:5000/v2/_catalog

{"repositories":["nginx"]}

转载于:https://www.cnblogs.com/itfenqing/p/10053973.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值