一文带大家了解和使用Docker镜像仓库
作者:叫我二蛋
Docker 公共仓库
Docker hub 是 Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。
因为 hub.docker.com 是在国外的,所以无法访问该网址,我们平时使用时可以通过配置镜像加速来拉取镜像。《了解和使用 Docker》中有镜像加速配置,这里就不再次陈述了。
但是如果要将自己的镜像推送到公共仓库中还需要有一个账号登录到 hub.docker.com 中才可以 push。
Docker Hub 注册登录
通过下图链接注册一个账号并登录
创建容器镜像仓库
登录成功后需要自己创建一个仓库,用来存储镜像。
上传镜像
镜像仓库创建好之后,就可以将本地的容器镜像 push 到我们所创建的镜像仓库中,并向全球用户共享容器镜像。
我们以 centos 镜像为例,重新打一个 tag 后进行推送
用刚才注册的账号登录 Docker hub
# docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: xxx Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 成功
为容器镜像重新打标记
# docker tag centos:latest xxxx/centos:v1
The push refers to repository [docker.io/xxxx/centos] 74ddd0ec08fa: Mounted from library/centos v1: digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc size: 529
至此镜像就上传成功了,同时别的用户也可以使用这个镜像。
Harbor 私有仓库
如果企业需要搭建自己的镜像仓库,可通过 Harbor 进行搭建,可以自己管理自己的镜像,DevOps 工作也比较方便,重要的是不会受网络的影响。 这个其实就跟 Maven 私有仓库一样。
在搭建 Harbor 前需要安装 Docker、Docker Compose 环境,这里不做详细描述。
Harbor 环境搭建
下载harbor离线安装包
# wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
解压harbor离线安装包
# tar xf harbor-offline-installer-v2.4.1.tgz
修改配置文件内容 # vim harbor.yml # Configuration file of Harbor # The IP address or hostname to access admin UI and registry service. # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients. hostname: 192.168.10.155 # http related config http: # port for http, default is 80. If https enabled, this port will redirect to https port port: 80 # https related config https: # https port for harbor, default is 443 port: 443 # The path of cert and key files for nginx certificate: 证书 private_key: 密钥 #访问密码 harbor_admin_password: 12345 ......
执行预备、安装脚本
# ./prepare & ./install.sh
安装好之后就可以通过界面访问了
镜像上传至 Harbor
修改docker daemon使用 Harbor
# vim /etc/docker/daemon.json # cat /etc/docker/daemon.json { "insecure-registries": ["192.168.10.155"] }
登录 Harbor
# docker login 192.168.10.155 Username: admin 用户名 admin Password: 密码 12345 WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 登陆成功
推送本地容器镜像到harbor仓库
# docker push 192.168.10.155/library/centos:v1
通过 Harbor 界面我们就可以看到刚才推送的镜像了。
到此这篇关于一文带大家了解和使用Docker镜像仓库的文章就介绍到这了,更多相关Docker 镜像仓库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!