1.仓库Registry

我们一般的镜像都是保存在仓库中,这样在其他服务器上可以直接从仓库获取镜像。仓库一般分为公共registry和私有registry。公共registry一般是Docker公司负责维护的Docker Hub。我们可以将自己的镜像保存在Docker Hub上。

1.1 公共registry

这里主要介绍Docker Hub的操作,当然也存在一些其他公共registry。接下来将介绍Docker Hub的一些操作。

  • 进行账号注册 https://hub.docker.com,并创建仓库
  • 在宿主机进行账号登陆
docker login -u eggsyz
  • 先下载一个公共镜像nginx,再上传到自己仓库
[centos@jiliguo ~]$ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
27833a3ba0a5: Already exists
ea005e36e544: Pull complete
d172c7f0578d: Pull complete
Digest: sha256:e71b1bf4281f25533cf15e6e5f9be4dac74d2328152edf7ecde23abc54e16c1c
Status: Downloaded newer image for nginx:latest
  • 通过docker tag重命名,因为Docker Hub为了区别不同用户相同镜像,需用用户名进行命名镜像
[centos@jiliguo ~]$ docker images eggsyz/nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
eggsyz/nginx        latest              27a188018e18        3 days ago          109MB
  • 上传到Docker Hub
docker push eggsyz/nginx
The push refers to repository [docker.io/eggsyz/nginx]
fc4c9f8e7dac: Layer already exists
912ed487215b: Layer already exists
5dacd731af1b: Layer already exists
latest: digest: sha256:c10f4146f30fda9f40946bc114afeb1f4e867877c49283207a08ddbcf1778790 size: 948

在Docker Hub查看,看到我们上传到镜像


后面我们就可以通过docker pull eggsyz/nginx来下载这个镜像了,各位看官可以试试能不能下载。

1.2私有registry

虽然公有仓库很方便,也很简单,但是存在以下几个问题。

  • 需要网络
  • 上传到镜像别人可以访问
  • 平时工作的镜像是不能公开的。
    因此,私有仓库就诞生了。其实搭建私有registry的方式也非常简单,这也是一个容器,下载镜像,运行容器即可。
    1.下载registry镜像
[centos@jiliguo ~]$ docker pull registry
Using default tag: latest
latest: Pulling from library/registry
c87736221ed0: Pull complete
1cc8e0bb44df: Pull complete
54d33bcb37f5: Pull complete
e8afc091c171: Pull complete
b4541f6d3db6: Pull complete
Digest: sha256:3b00e5438ebd8835bcfa7bf5246445a6b57b9a50473e89c02ecc8e575be3ebb5
Status: Downloaded newer image for registry:latest

2.运行容器

[centos@jiliguo ~]$ docker run -d -p 6666:5000 -v /home/centos/registry/:/var/lib/registry registry
f59914248a09f3fe4b7afccef5c3585afc6406c428b1030840188124ae8fb728
[centos@jiliguo ~]$ docker ps
CONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATUS              PORTS                                                                       NAMES
f59914248a09        registry                                  "/entrypoint.sh /etc…"   7 seconds ago       Up 5 seconds        0.0.0.0:6666->5000/tcp    

3.镜像命名

docker tag eggsyz/nginx 192.168.9.110:6666/eggsyz/nginx

4.上传镜像

[centos@jiliguo ~]$ docker run -d -p 6666:5000 -v /home/centos/registry/:/var/lib/registry registry
c56e13b18ea1501e63b976387269228dcc87348374a8c6ff3a5da48f97223bde
[centos@jiliguo ~]$ docker push 192.168.9.110:6666/eggsyz/nginx
The push refers to repository [192.168.9.110:6666/eggsyz/nginx]
fc4c9f8e7dac: Pushed
912ed487215b: Pushed
5dacd731af1b: Pushed
latest: digest: sha256:c10f4146f30fda9f40946bc114afeb1f4e867877c49283207a08ddbcf1778790 size: 948

这一步可能会爆https错误http: server gave HTTP response to HTTPS client
解决方案之一:
在/etc/docker/目录下,创建daemon.json文件。在文件中写入:
{ "insecure-registries":["192.168.9.110:6666"] }
5.下载镜像

docker pull 192.168.9.110:6666/eggsyz/nginx

私有仓库还可以进行认证等操作。这部分详情请查看https://docs.docker.com/registry/configuration/。好了,仓库基本操作介绍完毕,后续介绍镜像和容器操作。

菜鸟系列docker——docker仓库(2)的更多相关文章

  1. 菜鸟系列docker——docker镜像中(4)

    docker镜像命令 该章节主要介绍docker image相关命令实践操作,建议都一起跑一边 1. docker images 列举本机docker镜像 [centos@jiliguo docker ...

  2. 菜鸟系列docker——docker镜像上(3)

    1. 镜像image 镜像和容器的关系就和安装包和程序的关系一样,有了镜像才可以启动容器,容器是镜像的一个运行实例. 1.1 镜像的结构 通过第二节仓库,可能很多看官已经查看到镜像是分层的,接下来将对 ...

  3. 菜鸟系列docker——docker镜像下(5)

    1. docker镜像构建 该章节主要介绍2种构建docker镜像的方式.当然,当前基本上需要的基础镜像都有,直接使用即可.例如数据库.中间件之类的,只需要拿来使用即可,但是依然存在需要开发者构建镜像 ...

  4. Docker系列之Docker镜像(读书笔记)

    一.基本概念 Docker包括三个基本概念镜像.容器.仓库. Docker镜像:就是一个只读的模板.例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了Apache或其他应用程序.用 ...

  5. 你必须知道的Docker镜像仓库的搭建

    近期工作中发现用到的容器镜像越来越多(不多的时候没考虑过镜像仓库的问题),同一个容器镜像也存在多个版本,那么镜像仓库的搭建需求就涌现出来,本文就目前的几个常用镜像仓库的搭建进行介绍,我们可以根据需要选 ...

  6. 创建docker私人仓库

    关于创建docker私人仓库 1.1.           安装步骤 1.1.1.            直接从公共库上面下载register镜像在本地执行 1.1.1.1.             ...

  7. 一步步搭建docker私有仓库并从私有仓库中下载镜像

    一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...

  8. 搭建docker私有仓库,建立k8s集群

    服务器IP角色分布 192.168.5.2 etcd server 192.168.5.2 kubernetes master 192.168.5.3 kubernetes node 192.168. ...

  9. docker 私有仓库镜像的存储位置

    docker 私有仓库的镜像 是存储在5739360d1030 registry "docker-registry" 3 days ago Up 28 hours 0.0.0.0: ...

  10. docker 镜像仓库 Harbor 部署 以及 跨数据复制

    docker 镜像仓库 Harbor 部署 跨数据复制 Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目 它主要 提供 Dcoker Registry 管理 ...

随机推荐

  1. Linux 第十四天

    6)Bash常用快捷键 快捷键 作用 ctr1+ a 把光标移动到命令行开头.如果我们输入的命令过长,想要把光标移| 动到命令行开头时使用. ctr1+e 把光标移动到命令行结尾. ctr1+c 强制 ...

  2. (PMP)第1章-----引论

    1.指南概述和目的: 2.基本要素: 项目:创造独特的产品,服务或成果而进行的临时性工作.特点:1.临时性   临时性并不一定意味着项目时间短.2.独特性   3.渐进明细性 项目管理:就是将知识,技 ...

  3. vscode 添加 includePath

    使用vscode打开C项目时,vscode无法找到头文件路径,提示:configure includePath for better intellisense results 解决: 编辑~/.vsc ...

  4. 了解ip相关知识

    最近一直扫盲,作为一个编程工作者,其实涉及的东西很广,但也一直没有深入一些网络的概念. 内内网IP局域网,网线都是连接在同一个 交换机上面的,也就是说它们的IP地址是由交换机或者路由器进行分配的.而且 ...

  5. Adnroid开发环境搭建(四步搞定)

    新手博友,多多关照 下面给大家介绍JDK Eclipse AndroidSDK ADT环境搭建,安装教程 第一步.安装JDK: 第二步.安装Eclipse: 第三步.下载并安装AndroidSDK: ...

  6. vim配置文件.vimrc

    20171127备份 syntax on "自动语法高亮 set number "显示行号 set autoindent "回车后自动缩进 set tabstop=4 & ...

  7. How to setup Visual Studio without pain

    Visual Studio (VS) can be very hard to install. If you are lucky, one whole day may be enough to ins ...

  8. scrollIntoView() 调用元素就可以出现在视窗中

    /* 如果滚动页面也是DOM没有解决的一个问题.为了解决这个问题,浏览器实现了一下方法, 以方便开发人员如何更好的控制页面的滚动.在各种专有方法中,HTML5选择了scrollIntoView() 作 ...

  9. CentOS7 安装配置rsync

    centos7自带rsync,今天简单记录下. rsync安装配置步骤 服务器端: 1.修改默认配置文件/etc/rsyncd.conf,该成如下: # /etc/rsyncd: configurat ...

  10. Python核心团队计划2020年停止支持Python2,NumPy宣布停止支持计划表

    Python核心团队计划在2020年停止支持Python 2.NumPy项目自2010年以来一直支持Python 2和Python 3,并且发现支持Python 2对我们有限的资源增加了负担:因此,我 ...