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. Spring学习-01

    一.Srping 一个轻量级DI.IOC.AOP的容器框架 DI:依赖注入 IOC:控制反转 AOP:面向切面 二.构造器注入 Constructor-arg 属性:index/name/type/r ...

  2. spring深入学习(三)-----spring容器内幕

    之前都是说了怎么配置bean以及用法之类的,这篇博文来介绍下spring容器内幕. 内部容器工作机制 Spring中AbstractApplicationContext抽象类的refresh()方法是 ...

  3. VMware虚拟机Linux增加磁盘空间的扩容操作

    转载自点击打开链接 用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置 ...

  4. 大数据项目测试<二>项目的测试工作

    大数据的测试工作: 1.模块的单独测试 2.模块间的联调测试 3.系统的性能测试:内存泄露.磁盘占用.计算效率 4.数据验证(核心) 下面对各个模块的测试工作进行单独讲解. 0. 功能测试 1. 性能 ...

  5. JavaScript 平时记录

    1,JS中的this 见下面例子,注意函数中的函数 中的this指的是window对象了!!! document.addEventListener('click', function (e) { co ...

  6. 第二次OO总结

    作业5——多线程电梯 好像失忆了,竟然对这三部电梯很陌生,我尽量回忆一下当时挣扎的场景orz 整体思路和第二次电梯差不多,但是将调度器类套在了电梯类里 优点可能是没有无效,足矣!!!缺点emmmm要是 ...

  7. huffman树实现的压缩算法,java

    1.树的构建 package huffman; public abstract class BinaryTreeBasis { protected TreeNode root; public Bina ...

  8. document,element,node方法

    document方法: getElementById(id)                             返回指定结点的引用 getElementsByTagName_r(name)    ...

  9. git的命令行操作

    1.初始化本地的git仓库git init,代码存放在这里,git会自动对我们的代码进行管理备份. 2.设置用户信息,设置用户名:git config --global user.name " ...

  10. sort()方法的应用(二)

    引用:函数作为参数 var fn_by = function(id) { return function(o, p) { var a, b; if (typeof o === "object ...