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

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

相关文章

  • 给运行中的docker容器添加新的端口

    给运行中的docker容器添加新的端口

    今天小编就为大家分享一篇关于给运行中的docker容器添加新的端口,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 利用Docker搭建Laravel开发环境的完整步骤

    利用Docker搭建Laravel开发环境的完整步骤

    这篇文章主要给大家介绍了关于如何利用Docker搭建Laravel开发环境的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • docker简单安装部署mysql并配置远程连接

    docker简单安装部署mysql并配置远程连接

    使用docker部署mysql,可以省去mysql的安装配置过程,下面这篇文章主要给大家介绍了关于docker简单安装部署mysql并配置远程连接的相关资料,需要的朋友可以参考下
    2023-06-06
  • 阿里云安装docker全过程

    阿里云安装docker全过程

    这篇文章主要介绍了阿里云安装docker全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • docker Nginx PHP-FPM单机多站点布署的方法

    docker Nginx PHP-FPM单机多站点布署的方法

    这篇文章主要介绍了docker Nginx PHP-FPM单机多站点布署的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • docker部署mysql 实现远程连接的示例代码

    docker部署mysql 实现远程连接的示例代码

    这篇文章主要介绍了docker部署mysql 实现远程连接的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • docker mysql5.7如何设置不区分大小写

    docker mysql5.7如何设置不区分大小写

    本文主要介绍了docker mysql5.7如何设置不区分大小写,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 内网环境下registry搭建步骤详解

    内网环境下registry搭建步骤详解

    这篇文章主要为大家介绍了内网环境下的registry搭建步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 详解docker强制批量删除none的image镜像

    详解docker强制批量删除none的image镜像

    这篇文章主要介绍了详解docker强制批量删除none的image镜像,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Docker Volumn容器间共享数据的实现

    Docker Volumn容器间共享数据的实现

    这篇文章主要介绍了Docker Volumn容器间共享数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论