Linux下docker容器 push镜像到私服registory当中,步骤及问题解决;

 一、搭建私服镜像仓库阶段

首先,搭建一个私服仓库

Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。

搭建方式比较简单,命令如下:

docker run -d \
    --restart=always \
    --name registry    \
    -p 5000:5000 \
    -v registry-data:/var/lib/registry \
    registry

其次,使用DockerCompose部署带有图象界面的DockerRegistry,命令如下:
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=我的镜像私有小仓库
      - REGISTRY_URL=http://registry:5000
    depends_on:
      - registry
```

最后,我们的私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:

# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:(注意格式,空格,排版,要不然不生效,同时与上一条配置要用逗号隔开)
"insecure-registries":["http://192.168.***.***:8080"]这里填你自己的虚拟机IP地址
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker

最最后,执行touch docker-compose.yml,再执行docker-compose up -d

然后在浏览器通过端口192.168.***.***:8080进行访问验证成功。

二、推送镜像到私服阶段

先执行第一个操作,执行完以后再执行第二个操作。

三、推送阶段可能碰到的问题

[root@localhost ~]# docker push 192.168.***.***:8080/nginx:1.0
The push refers to repository [192.168.***.***:8080/nginx]
Get "http://192.168.***.***:8080/v2/": dial tcp 192.168.***.***:8080: connect: connection refused。

看到这里呢,不要慌,原因就是,刚刚搭建私服后,重启了docker和服务,所以再重新启动他们,再push即可

-->systemctl restart docker

 -->docker run -d \
    --restart=always \
    --name registry    \
    -p 5000:5000 \
    -v registry-data:/var/lib/registry \
    registry

-->touch docker-compose.yml

-->docker-compose up -d

执行上述四步操作后,再进行push,push完之后可再次通过端口来访问浏览器私服进行验证(与验证私服搭建成功的端口一样)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值