文章目录
- 一、本地私有仓库搭建的具体步骤
- 1.首先来下载registry镜像
- 2.在 daemon.json 文件中添加私有镜像仓库的地址并重启
- 3.运行 registry 容器
- 4.为镜像打标签
- 5.上传到私有仓库
- 6.列出私有仓库的所有镜像及标签
- 7.先删除原有的 centos 镜像,在从本地仓库下载进行测试
提示:以下是本篇文章正文内容,下面案例可供参考
一、本地私有仓库搭建的具体步骤
1.首先来下载registry镜像
docker pull registry
2.在 daemon.json 文件中添加私有镜像仓库的地址并重启
[root@lpl ~] # vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.80.200:5000"],
"registry-mirrors": ["https://r3gcbjem.mirror.aliyuncs.com"]
}
3.运行 registry 容器
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下来的镜像.
----------------------------------------------------------------------------------------------------------------
Docker容器的重启策略如下:
no:默认策略,在容器退出时不重启容器
on- failure:在容器非正常退出时(退出状态非0),才会重启容器
on- failure:3 :在容器非正常退出时重启容器,最多重启3次
always:在容器退出时总是重启容器
unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
4.为镜像打标签
[root@lpl ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd centos7 a46697466689 10 hours ago 364MB
debian test 592b193164f3 10 hours ago 215MB
centos test 0c8faef8fc62 10 hours ago 332MB
tomcat latest 710ec5c56683 28 hours ago 668MB
registry latest 1fd8e1b0bb7e 3 months ago 26.2MB
centos 7 8652b9f0cb4c 8 months ago 204MB
[root@lpl ~] # docker tag centos:7 192.168.80.200:5000/centos:v1
[root@lpl ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd centos7 a46697466689 10 hours ago 364MB
debian test 592b193164f3 10 hours ago 215MB
centos test 0c8faef8fc62 10 hours ago 332MB
tomcat latest 710ec5c56683 28 hours ago 668MB
registry latest 1fd8e1b0bb7e 3 months ago 26.2MB
192.168.80.200:5000/centos v1 8652b9f0cb4c 8 months ago 204MB
centos 7 8652b9f0cb4c 8 months ago 204MB
[root@lpl ~] #
5.上传到私有仓库
docker push 192.168.80.200:5000/centos:v1
6.列出私有仓库的所有镜像及标签
curl http://192.168.80.200:5000/v2/_catalog
{"repositories":["centos"]}
curl http://192.168.80.200:5000/v2/centos/tags/list
{"name":"centos","tags":["v1"]}
7.先删除原有的 centos 镜像,在从本地仓库下载进行测试
docker rmi -f 8652b9f0cb4c
docker pull 192.168.80.200:5000/centos:v1