专业的编程技术博客社区

网站首页 > 博客文章 正文

学习笔记-Docker 仓库 - 私有仓库

baijin 2024-11-06 09:35:13 博客文章 8 ℃ 0 评论

docker-registry

官方工具,用于构建私有镜像仓库

部署docker-registry

#    通过Docker方式部署官方版本 docker-registry
docker run -d -p 5000:5000 --restart=always --name registry registry
#    通过Docker方式部署官方版本 docker-registry,并将容器内/var/lib/registry映射到物理机/opt/data/registry
docker run -d \
    -p 5000:5000 \
    -v /opt/data/registry:/var/lib/registry \
    registry

上传镜像到私有仓库

修改镜像标记

Docker tag

#    命令语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
#    命令样例
docker tag {原标记} {仓库地址:端口号}/{新标记}
docker tag ubuntu:18.04 127.0.0.1:5000/ubuntu:v3

修改现存镜像的标记

#    列出所有镜像
docker image ls
#    修改镜像标记
docker tag ubuntu:18.04 127.0.0.1:5000/ubuntu:v3

上传镜像

docker push

#    命令语法
docker push [OPTIONS] NAME[:TAG]
-disable-content-trust    忽略镜像的校验,默认开启
#    命令样例
docker push {仓库地址:端口号}/{新标记}
docker push 127.0.0.1:5000/ubuntu:v3
curl 127.0.0.1:5000/v2/_catalog

上传镜像到私有库

#    列出所有镜像
docker image ls
#    推送镜像到 127.0.0.1:5000
docker push 127.0.0.1:5000/ubuntu:v3
#    查看 私有库 内的镜像
curl 127.0.0.1:5000/v2/_catalog

从私有库下载镜像

从 127.0.0.1:5000 下载镜像

#    列出所有镜像
docker image ls
#    删除本地已有的镜像 (改过标识的镜像和原镜像是同一个,所以不能用ID删除)
docker image rm 127.0.0.1:5000/ubuntu:v3
#    再次 列出所有镜像
docker image ls
#    从私有库下载镜像
docker pull 127.0.0.1:5000/ubuntu:v3
#    再次 列出所有镜像
docker image ls 

运行从私有库下载的镜像

#    运行 镜像 (此处需要输入完整标识,否则会从官方库下载)
docker run -it --rm 127.0.0.1:5000/ubuntu:v3 bash

配置非HTTPS 仓库地址

127.0.0.1:5000 仅能作为本机 私有库地址使用。如需要为其他服务器提供私有库,则需要使用宿主机IP地址。
默认情况下,Docker 不允许使用非HTTPS地址推送镜像,因此需要修改设置。

修改 Docker 默认设置

#    编辑配置文件
nano /etc/docker/daemon.json
#    {
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "insecure-registries": [
    "172.16.28.124:5000"
  ]
}
#    }
#    开放宿主机 TCP 5000 端口
sudo firewall-cmd --permanent --zone=public --add-port=5000/tcp
sudo firewall-cmd --reload
#    重启dokcer
sudo systemctl daemon-reload
sudo systemctl restart docker

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表