docker仓库管理以及搭建

Posted bufufan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker仓库管理以及搭建相关的知识,希望对你有一定的参考价值。

docker仓库管理和容器连接

  1. 是什么?

    1. 仓库就类似于我们在网上搜索操作系统光盘的一个镜像站。

      这里的仓库指的是Docker镜像存储的地方。

      注册

      https://hub.docker.com 免费注册一个 Docker 账号。

  2. docker仓库

    1. 公有:Docker hub、Docker cloud、等
    2. 私有:registry、harbor等
    3. 本地:在当前主机存储镜像的地方
  3. 相关操作

    1. docker login [仓库名称]

      docker pull [镜像名称]

      docker push [镜像名称]

      docker search [镜像名称]

  4. 私有仓库部署(registry)

    1. 创建仓库流程

      1. 根据registry镜像创建容器
      2. 配置仓库权限
      3. 提交镜像到私有仓库
      4. 测试
        技术图片
    2. 实施方案

      1. 下载registry官方镜像

        docker pull registry

      2. 启动仓库容器,用于提供私有仓库服务

        docker run -d -p 5000:5000 registry

      3. 检查容器效果,此时仓库已搭建完毕。可以在本地或局域网内其他机器进行查看仓库内镜像(将ip改一下)

        curl 127.0.0.1:5000/v2/_catalog

      4. 配置容器权限

        1. 默认情况下,该仓库是使用http去访问的,而docker客户端使用的是https去访问。不修改客户端配置,直接从私有仓库下载镜像会报错

        vim /etc/docker/daemon.json

        {"registry-mirrors": ["http://74f21445.m.daocloud.io"], "insecure-registries": ["192.168.205.183:5000"]}

        注意:

        私有仓库的ip地址是宿主机的ip,而且ip两侧有双引号

    技术图片

  5. 重启docker服务

    1. 结果报错如下,原因是修改配置写错

技术图片

  1. 效果查看

    启动容器

    docker restart 571db56f7f77

    标记镜像

    注意需将镜像名称重命名为:仓库ip+端口+镜像名称的形式。否则会push仓库不成功

    docker tag registry 192.168.205.183:5000/sub-registry

    提交镜像到私有仓库

    [root@rbtnode1 ~]# docker push 192.168.205.183:5000/sub-registry

    验证查看是否提交成功

    [root@rbtnode1 ~]# curl -X GET http://192.168.205.183:5000/v2/_catalog
    {"repositories":["sub-registry"]}

技术图片

a、若在启动时没有作数据卷挂载,则需进入到容器的/var/lib/registry查看

b、若在启动时,作了数据卷挂载,则可以直接在仓库服务器本地查看。建议需作数据卷挂载,一方面仓库容器意外被销毁时,本地可以有备份。另一方面,参看也相对简单

#### 从私有仓库下载镜像

[root@rbtnode1 ~]# docker pull 192.168.205.183:5000/sub-registry
技术图片

以上是关于docker仓库管理以及搭建的主要内容,如果未能解决你的问题,请参考以下文章

Docker私有仓库搭建与界面化管理

docker快速部署gitlab代码仓库

docker 私有仓库搭建以及用户认证

Docker私有仓库Registry的搭建验证

Docker私有仓库之---Harbor仓库的搭建及使用

Docker私有仓库之---Harbor仓库的搭建及使用