Docker创建镜像仓库

  • 注册登录

    • 在命令行界面执行docker login输入用户名及密码来完成在命令行界面登录Docker hub,也可以通过docker logout退出登录;
  • 拉取镜像

    • 可以通过docker search命令来查找官方仓库中的镜像,并利用docker pull命令来将它下载到本地;
  • 推送镜像

    • 用户也可以在登录后通过docker push命令来将自己的镜像推送到docker hub。
  • 示例

    # 命名镜像
    docker tag fce289e99eb9 xufengstudy/hello-world:latest
    # 推送镜像
    docker push xufengstudy/hello-world:latest
    
  • 私有仓库

    • 有时候使用docker hub这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。比如,基于公司内部项目构建的镜像。docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。

    • 安装运行docker-registry

      • 可以通过获取官方registry镜像来运行。默认情况下,仓库会被创建在容器的/var/lib/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径。

        docker run --name registry -d -p 5000:5000 --restart=always -v /Users/zhangxufeng/docker-registry:/var/lib/registry registry
        
    • 在私有仓库上传、搜索、下载镜像

      • 创建好私有仓库之后,就可以使用docker tag来标记一个镜像,然后推送它到仓库;
    • 使用docker tagsession-web:latest这个镜像标记为127.0.0.1:5000/session-web:latest格式为docker tag IMAGE[:tag] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

      docker tag session-web:latest 127.0.0.1:5000/session-web:latest
      
    • 使用docker push上传标记的镜像

      docker push 127.0.0.1:5000/session-web:latest
      
    • 用curl查看仓库中的镜像

      curl 127.0.0.1:5000/v2/_catalog
      

      如果可以看到{"repositories":["session-web"]},表明镜像已经被成功上传了。

    • 先删除已有镜像,再尝试从私有仓库中下载这个镜像

      docker image rm 127.0.0.1:5000/session-web:latest
      docker pull 127.0.0.1:5000/session-web:latest
      
  • 注意事项

    • 如果你不想使用127.0.0.1:5000作为仓库地址,比如想让本网段的其他主机也能把镜像推送你到私有仓库。你就得把例如192.168.100.100:5000这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。这时因为docker默认不允许非HTTPS方式推送镜像。我们可以通过docker的配置选项来取消这个限制。

    • 对于使用systemd的系统,需要在/etc/docker/daemon.json中写入如下内容(Windows和Mac则在设置中进行设置):

      {
        "regsitry-mirror": [
          "https://registry.docker-cn.com"
        ],
        "insecure-registries": [
          "192.168.100.100:5000"
        ]
      }
      

转载于:https://my.oschina.net/zhangxufeng/blog/3075128

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值