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