搭建Docker私有的镜像仓库

2020-04-30 17:10:00 浏览数 (2)

1、镜像仓库服务器

假设IP 为 192.168.0.100

下载镜像registry

代码语言:javascript复制
docker pull registry
# 或者加载离线镜像包 docker load -i registry.tar.gz

运行registry容器

代码语言:javascript复制
 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下来的镜像;

为方便重启使用,可以加入/etc/rc.d/rc.local

代码语言:javascript复制
chmod  x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local

加入一行: docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

2、其他需要使用私有镜像仓库的服务器

配置

代码语言:javascript复制
vim /etc/docker/daemon.json 

daemon.json : 阿里云镜像地址 "registry-mirrors" 配置可以没有

代码语言:javascript复制
{
  "registry-mirrors": ["https://阿里云镜像地址"], 
  "insecure-registries": [ "192.168.0.100:5000"]
}

上传镜像示例:

代码语言:javascript复制
docker pull busybox  # 也可以通过Dockerfile自行构建
docker tag busybox:latest 192.168.0.100:5000/openjdk:8

# 上传私有镜像仓库
docker push 192.168.0.100:5000/openjdk:8

拉取镜像示例:

代码语言:javascript复制
# 拉取私有镜像仓库的镜像
docker pull 192.168.0.100:5000/openjdk:8

by Sven Augustus https://my.oschina.net/langxSpirit

0 人点赞