Docker系列六: 使用Docker官方公共仓库和私有仓库

使用公共仓库

登陆官方网站:https://hub.docker.com/   注册账号和密码

在Docker hub中创建一个资源,  create  respositories,   创建后会提示如何push镜像到公共仓库

当提示: docker push dai163309889254/zabbix:tagname  时, 使用该命令push镜像

 

在Docker主机上面, 把需要推送的镜像命名为 dai163309889254/zabbix:latest

docker tag zabbix:latest dai163309889254/zabbix:latest

 

登陆docker hub开始推送

docker login
# 输入注册的docker hub的账号密码

# 开始推送镜像
docker push dai163309889254/zabbix:latest

 

最后登陆到Docker Hub上面就可以看到镜像的信息(镜像大小,最后一次推送时间等信息)

 

使用私有仓库

docker 已经打包好了一个镜像仓库, 直接下载并运行即可

 

创建好使用的配置文件

#cat config.yml
 
version: 0.1
log:
  fields:
    service: registry
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :7000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

 

运行容器

docker run -d -p 7000:7000 -v /opt/data/registry:/var/lib/registry  -v /data/config.yml:/etc/docker/registry/config.yml  registry 

 

当容器运行时,会监听7000端口

使用浏览器或者curl访问tcp的7000端口返回   {}  表示运行成功

 

修改docker配置解决推送时提示 http: server gave HTTP response to HTTPS client, 因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。修改docker启动配置文件:

{
  "registry-mirrors":["http://hub-mirror.c.163.com"],   #镜像加速
  "insecure-registries":["172.16.27.139:7000"]         # 添加非ssl仓库
}

 

重启docker服务

service docker restart

 

修改镜像名称为本地镜像名称

docker tag zabbix:latest 172.16.27.139:7000/zabbix:latest

 

推送镜像到本地仓库

docker push 172.16.27.139:7000/zabbix:latest

 

查看是否存在镜像

http://172.16.27.139:7000/v2/_catalog

 

转载于:https://www.cnblogs.com/djoker/p/10395107.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值