mgjj 发表于 2019-2-21 10:35:45

跟我一起学docker(五)--仓库

  1.Docker Hub
  仓库是集中存放镜像的地方。
  目前Docker官方仓库维护了一个公共仓库https://hub.docker.com,其中已经包括15000多个的镜像。
  大部分需求都可以通过在Docker Hub中直接下来镜像来实现。
  登录
  可以通过执行docker login命令来输入用户名、密码和邮箱来完成注册登录。

  基本操作
  用户无需登录可以通过 docker search命令来查找官方仓库中的镜像,并利用docker pull 下载到本地,可以通过docker push 命令将本地镜像推送到docker hub。
  先tag一下复制一个镜像,然后把镜像push到服务器上


  2.创建和使用私有仓库
  使用registry镜像创建私有仓库
  可以通过docker官方提供的registry镜像来搭建一套本地私有仓库。
  镜像地址:https://hub.docker.com/_/registry/
  命令:
  docker run -eSEARCH_BACKEND=sqlalchemy-eSQLALCHEMY_INDEX_DATABASE=sqlite:////tmp/docker-registry.db-d --name registry -p 5000:5000 registry

  -e设定环境变量
  -d从后台启动的方式镜像启动
  -name 启动的容器起个名字
  -p 暴露端口,容器内部的5000绑定到宿主机的5000端口上。
  registry镜像本身
  SEARCH_BACKEND=sqlalchemy默认索引是可以查询的
  参考地址:
  https://github.com/docker/docker-registry#search-engine-options
  https://hub.docker.com/_/registry/
  自动下载并启动一个registry容器,创建本地的私有仓库服务。
  默认仓库创建在/tmp/registry目录下。

  上传到本地的私有仓库中,

  报错了:http:server gave HTTP response to HTTPS client 后面会告诉你如何解决往下看。
  docker启动参数配置:
  环境:centos7解决上边的问题
  配置文件:/lib/systemd/system/docker.service
  修改成:
  #ExecStart=/usr/bin/dockerd
  ExecStart=/usr/bin/dockerd-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --insecure-registry192.168.100.146:5000
  (此处默认2375为主管理端口,unix:///var/run/docker.sock用于本地管理,7654是备用的端口)

  重启服务,在启动一个私有仓库的容器,然后push到私有仓库中

  参考地址:https://docs.docker.com/engine/admin/configuring/
  3.仓库加速服务
  加速下载官方镜像。
  推荐服务:https://dashboard.daocloud.io/
  点击加速器:https://dashboard.daocloud.io/mirror



  配置Docker加速器:

  下载第三方官方仓库。
  4.仓库管理
  Registry Web UI
  用于镜像的查询,删除。
  镜像地址:https://hub.docker.com/r/atcol/docker-registry-ui/


  启动命令:运行下面的命令的时候建议先配置上边讲的加速哦,因为要下载的东西有点多。
  docker run -d --nameregistry_ui -p 8080:8080 -e REG1=http://172.17.0.2:5000/v1/atcol/docker-registry-ui

  查看端口是否启用

  查看logs

  访问地址:
  http://IP地址:8080

  往期docker学习:
  认识docker
  核心概念和安装
  镜像的常用操作
  容器的基本操作

页: [1]
查看完整版本: 跟我一起学docker(五)--仓库