美文网首页
docker 私有镜像仓库

docker 私有镜像仓库

作者: lzp1234 | 来源:发表于2019-05-23 14:49 被阅读0次

前言

构建docker镜像私有仓库

环境

操作系统:centos7
Docker version 18.09

正文

配置基础环境

yum加速源配置
yum install -y wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
docker加速源配置
mkdir /etc/docker
cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://jzngeu7d.mirror.aliyuncs.com"]
}
EOF
安装docker
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce-18.09.3 -y
systemctl enable docker
防火墙配置

除非你知道怎么配置防火墙,否则此时还是关闭掉。

systemctl disable firewalld
systemctl stop firewalld
systemctl disable iptables
systemctl stop iptables

启动镜像仓库

  1. 创建镜像存放位置:
mkdir /opt/registry
  1. 启动仓库
docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry/docker/registry --restart always --name registry registry:2

管理镜像仓库

将镜像推送到私有仓库
  1. 更新镜像的tag
    从官网拉取一个测试镜像:
docker pull busybox:latest
docker tag busybox:latest 127.0.0.1:5000/busybox:latest

这里的 "busybox:latest" 是指 "镜像名:tag"。"127.0.0.1:5000/" 是仓库的地址。

  1. 推送镜像到私有仓库
docker push 127.0.0.1:5000/busybox:latest
查看仓库中的镜像
curl <IP>:5000/v2/_catalog

注意替换IP为实际仓库地址

删除私有仓库中的镜像

TODO

删除私有仓库中的镜像某个tag

需要修改配置文件,由于使用的镜像自带的配置文件,因此进入容器(镜像仓库)修改配置文件,配置文件路径:/etc/docker/registry/config.yml
增加如下红框内容:


image.png

修改完毕后,重启容器。

删除镜像的某个tag,包含两个重要信息:镜像名称、tag
但是在删除操作时,不能直接使用tag,因此其中涉及到一些转换步骤。

  1. 获取镜像tag对应的digest(类似于id)
curl -I --header "Accept: application/vnd.docker.distribution.manifest.v2+json"  <IP>/v2/<image_name>/manifests/<tag>

注意替换IPimage_nametag。这里的IP就是仓库的地址。
执行成功后,会返回一串信息,其中 Docker-Content-Digest 对应的值就是我们需要的 digest

  1. 开始删除
curl -I -X DELETE <IP>:5000/v2/<image_name>/manifests/<digest>

注意替换IPimage_namedigest

可以直接进入镜像存放路径,可以查看到该tag已经不存在。

使用镜像仓库

在搭建好私有仓库以后,接下来就是怎么使用。

在另外一台安装了docker的机器上:

  1. 首先添加私有仓库信任
    默认情况下,无法从来源不明的仓库下载镜像,需要增加一些配置。
    vim /etc/docker/daemon.json,添加如下内容,注意替换ip为自己的仓库地址。
"insecure-registries" : ["192.168.21.210:5000"]
image.png

添加完毕后,重启docker

  1. 从私有仓库拉取镜像
docker pull 192.168.21.210:5000/busybox:latest

注意替换ip为自己的仓库地址。
此时查看镜像可以看到镜像已经下载下来。

相关文章

  • 5.私有与公有镜像仓库

    一. 搭建私有镜像仓库 Docker Hub作为Docker默认官方公共镜像;如果想自己搭建私有镜像仓库,官方也提...

  • Docker

    构建镜像仓库 Docker运行java程序 1.1.6 搭建docker私有仓库 新建私有仓库 1.2.1 数据挂...

  • docker

    docker 私有仓库 下载镜像registrydocker pull registry 配置私有仓库(/etc/...

  • Docker删除私有仓库镜像

    Docker删除私有仓库镜像 安装删除脚本 设置私有仓库目录环境变量 删除镜像

  • Docker之八私有仓库

    个人专题目录 Docker 私有仓库 1. 私有仓库搭建 2. 将镜像上传至私有仓库 3. 从私有仓库拉取镜像

  • 容器(5)--Docker 仓库--2.Docker-regis

    镜像的私有仓库 Docker官方提供了docker-registry组件,我们可以用它来构建我们的私有镜像仓库。安...

  • docker 连接私有仓库

    docker 连接私有仓库,并向私有仓库推送镜像 一、检查是否已经配置私有仓库 Insecure Registri...

  • 创建私有docker仓库

    使用私有仓库pull push更快速。 使⽤registry镜像创建私有仓库(仓库端) docker-regist...

  • Docker搭建私有仓库之Harbor

    Docker搭建私有仓库之Harbor Harbor Harbor是构建企业级私有docker镜像的仓库的开源解决...

  • docker基本命令

    官方镜像仓库 https://hub.docker.com/ Windows10 docker 连接已有私有仓库...

网友评论

      本文标题:docker 私有镜像仓库

      本文链接:https://www.haomeiwen.com/subject/voauzqtx.html