笔记-搭建和使用docker-registry私有镜像仓库
拉取/安装registry镜像 和 对应的ui镜像
如果有网络可以直接拉取镜像
docker pull registry
docker pull hyper/docker-registry-web
没有网络可以使用我导出好的离线镜像tar包, 下载地址https://wwzt.lanzoul.com/i3im1194z12d
docker load -i docker-reg-repo.tar
docker load -i docker-reg-ui.tar
给load好的镜像按镜像id 设置对应的tag标签
docker tag w23er2rwr21r registry:3.0.0
docker tag tr23rweq2e1d registry-ui:3.0.0
创建并运行docker容器
先启动docker-registry容器
docker run -d -p 5000:5000 -v /var/my_registry/:/var/lib/registry --name mydocker-reg-repo --privileged=true registry:3.0.0
然后启动registry-ui容器
docker run -d -p 5001:8080 --name reg-web-ui --restart=always --link mydocker-reg-repo -e registry_url=http://192.168.11.131:5000/v2 -e registry_name=localhost:5000 registry-ui:3.0.0
###测试访问5000端口
http
http://192.168.11.131:5000/v2/_catalog
会返回json数据如
json
{"repositories":["myrepo/cs-docker-demo","myrepo/myapp","myrepo/openjdk","myrepo/redis"]}
###测试访问5001端口
http
http://192.168.11.131:5001/
会返回Web Registry页面
将已有的docker镜像 推送到刚刚搭建好的私有仓库里
先配置docker服务器,让docker注册到 192.168.11.131:5000
用vi编辑daemon.json文件
bash
vi /etc/docker/daemon.json
文件内容如下
json
{
"hosts":[
"unix://var/run/docker.sock",
"tcp://0.0.0.0:2375"
],
"insecure-registries":["192.168.11.131:5000"]
}
配置好后,先停掉所有正在运行的docker container容器,然后重启docker服务即可
将docker中一个已存在的镜像的tag 修改为符合docker私仓规范的tag
规范: docker tag 老tag 私仓ip:私仓port/自定义仓库名/镜像名:镜像版本号
示例如下
bash
docker tag rabbitmq:3.1.0 192.168.11.131:5000/myrepo/rabbitmq:3.1.0
根据刚刚这个tag 把镜像 推送到docker-registry私有docker镜像仓库
bash
docker push 192.168.11.131:5000/myrepo/rabbitmq:3.1.0