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
本文暂时没有评论,来添加一个吧(●'◡'●)