docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker 镜像仓库

一文带大家了解和使用Docker镜像仓库

作者:叫我二蛋

本文主要介绍一下容器镜像仓库的使用,包括公有仓库和自己搭建的私有仓库,文中有详细的代码示例,以及图解,对我们了解和使用 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 镜像仓库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文