官方搭建私有镜像仓库 传送门(Docker Registry)
需求:本地服务器搭建私有镜像仓库,吧镜像文件给上传上去,然后再下载下来
先看效果图:
方法1、简化版安装(没有后台图形化界面,不推荐)
docker run -d \
--restart=always \
--name registry \
-p 5000:5000 \
-v registry-data:/var/lib/registry \
registry
意思是挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录里面,这是私有镜像库存放数据的目录,这里的反斜杠代表拼接的意思,没写完,美观一点
运行之后,执行docker ps ,即可查看是否安装成功,
再到浏览器访问 ip:5000/v2/_catalog 便可以查看当前私有镜像服务中包含的镜像
方法2、有图形化界面安装(有图形化界面,推荐)
这里我用新的一台服务器来重新搭建的
步骤1:添加docker信任地址:因为不是https协议
vi /etc/docker/daemon.json
添加内容:
"insecure-registries":["你ip:8080"]
步骤2:重新加载daemon
systemctl daemon-reload
步骤3:重启docker
systemctl restart docker
步骤4:创建一个docker-compose.yml文件,内容如下
version: '3.0'
services:
registry:
image: registry
volumes:
- ./registry-data:/var/lib/registry
ui:
image: joxit/docker-registry-ui:static
ports:
- 8080:80
environment:
- REGISTRY_TITLE=japhet_jiu的docker私有镜像仓库
- REGISTRY_URL=http://registry:5000
depends_on:
- registry
步骤5:执行 docker-compose up -d
很幸运,我们没有安装docker-compose ,所以我们去安装吧
安装docker-compose
1、下载docker-compose文件
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、给权限
chmod -R 777 /usr/local/bin/docker-compose
3、自动补全(可选操作)
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
好了,安装好了,然后再执行上面步骤5的docker-compose up -d 吧
docker-compose up -d
然后到浏览器访问ip:8080即可看到图形化界面的私有仓库了
仓库有了,那咱们就开始吧镜像文件给上传上去,然后再下载下来呗
先看一下我们本地的镜像文件,然后随便挑一个作为镜像文件,打包,然后上传,我这里挑的rabbitmq
步骤1: 重命名
docker tag docker.io/rabbitmq:management 192.168.0.239:8080/rabbitmq:1.0
步骤2:查看是否打包成功
docker images
打包成功
步骤3:推送到仓库里面去
docker push 192.168.0.239:8080/rabbitmq:1.0
步骤4:从仓库里面下载到本地
删除镜像文件
再拉取下来
docker pull 192.168.0.239:8080/rabbitmq:1.0
ok完事