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://<host_ip>:8080