1.Docker Hub

仓库是集中存放镜像的地方。

目前Docker官方仓库维护了一个公共仓库https://hub.docker.com,其中已经包括15000多个的镜像。

大部分需求都可以通过在Docker Hub中直接下来镜像来实现。

登录

可以通过执行docker login命令来输入用户名、密码和邮箱来完成注册登录。

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

基本操作

用户无需登录可以通过 docker search命令来查找官方仓库中的镜像,并利用docker pull 下载到本地,可以通过docker push 命令将本地镜像推送到docker hub。

先tag一下复制一个镜像,然后把镜像push到服务器上

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

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

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

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

-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目录下。

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

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

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

报错了: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是备用的端口)

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

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

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

参考地址:https://docs.docker.com/engine/admin/configuring/

3.仓库加速服务

加速下载官方镜像。

推荐服务:https://dashboard.daocloud.io/

点击加速器:https://dashboard.daocloud.io/mirror

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

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

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

配置Docker加速器:

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

下载第三方官方仓库。

4.仓库管理

Registry Web UI

用于镜像的查询,删除。

镜像地址:https://hub.docker.com/r/atcol/docker-registry-ui/

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

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

启动命令:运行下面的命令的时候建议先配置上边讲的加速哦,因为要下载的东西有点多。

docker run -d --nameregistry_ui -p 8080:8080 -e REG1=http://172.17.0.2:5000/v1/atcol/docker-registry-ui

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

查看端口是否启用

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

查看logs

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

访问地址:

http://IP地址:8080

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

往期docker学习:

认识docker

核心概念和安装 

镜像的常用操作

容器的基本操作