一、首先在网上任意离线下载一个registry 仓库
docker pull registry
docker load -i ./registry. docker
二、将下载打包后的镜像拷贝到要安装私有仓库的服务器运行
docker load -i ./registry.docker (镜像名)
三、查看镜像名称,如果镜像名称为空,可以使用以下命令修改
# 查看镜像信息
docker images
# docker tag (imageID) (镜像名:版本号)
# 例子
docker tag 8a9b5 registry:latest
四、修改配置文件,添加一句信任私有仓库
vi /etc/docker/daemon.json
#192.168.31.11表示本机的ip地址,8888表示端口
{
"insecure registries": ["192.168.31.11:8888"]
}
五、重启docker
systemctl restart docker
六、修改要上传的镜像名称,并带上私有仓库地址
docker tag oldName:v1 192.168.31.11:8888/newName:v2
oldName:v1 表示原来镜像的名称和版本号
192.168.31.11:8888 私有仓库地址
newName:v2 自己重命名的镜像名称和版本号
如果不跟版本号,则默认latest
七、就创建仓库存放仓库地址,并启动registry私有仓库
mkdir -p /opt/data/registry
#启动仓库并直接上传
docker run -di --name=registry -p 8888:8888 registry(镜像名)
#如果想指定私有仓库的上传路径,则执行这个
docker run -d -p 8888:8888 -v /opt/data/registry:/var/lib/registry --name private_registry registry
八、查看私有仓库的镜像
#查看指定路径的仓库镜像
ls /opt/data/registry/docker/registry/v2/repositories/
#查看实时传输的仓库镜像
curl -XGET http://192.168.31.11:8888/v2/_catalog
九、上传镜像到离线私有仓库
docker push 192.168.31.11:8888/myImage:v1
十、私有仓库拉取镜像(如果想拉取其他地址的镜像需在第四步骤中添加上相应的ip端口)
docker pull 192.168.31.11:8888/myImage:v1
十一、与之相关常用命令
- ** 启动镜像**
docker run -it -name x 192.168.31.11/myImage:v1
- 进入指定容器
docker exec -it 容器id /bin/bash
- 强制删除镜像
docker rmi -f 镜像id或镜像名字
#例子
docker rmi -f myImage
- 导入镜像
docker load -input filename.tar
- 导出镜像
docker save 镜像名 -o filename.tar