Docker Hub运行原理及实现过程解析

类似于GitHub提供的代码托管服务,Docker Hub提供了镜像托管服务,Docker Hub地址为https://hub.docker.com/,利用Docker Hub读者可以搜索、创建、分享和管理镜像。Docker Hub上的镜像分为两大类,一类是官方镜像,例如我们之前用到的nginx、mysql等,还有一类是普通的用户镜像,普通用户镜像由用户自己上传。对于国内用户,如果觉得Docker Hub访问速度过慢,可以使用国内一些公司提供的镜像,例

如网易:https://c.163yun.com/hub

本文使用Docker Hub,读者又兴趣可以尝试网易的镜像站。首先读者打开Docker Hub,注册一个账号,这个比较简单,我就不赘述了。账号注册成功之后,在客户端命令行可以登录我们刚刚注册的账号,如下:

看到Login Succeeded表示登录成功!

登录成功之后,接下来就可以使用push命令上传我们自制的镜像了。注意,自制的镜像要能够上传,命名必须满足规范,即namespace/name格式,其中namespace必须是用户名,以前文我们创建的Dockerfile为例,这里重新构建一个本地镜像并上传到Docker Hub,如下:

首先调用docker build命令重新构建一个本地镜像,构建成功后,通过docker images命令可以看到本地已经有一个名为wongsung/nginx的镜像,接下来通过docker push命令将该镜像上传至服务端。上传成功后,用户登录Docker Hub,就可以看到刚刚的镜像已经上传成功了,如下:

看到这个表示镜像已经上传成功了,接下来,别人就可以通过如下命令下载我刚刚上传的镜像:

docker pull wongsung/nginx

pull下来之后,就可以直接根据该镜像创建容器了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解如何使用DockerHub官方的MySQL镜像

    前言 最近一直在尝试以官方centos镜像为基础,制作基于centos的MySQL镜像.但是制作后发现镜像大小已经超过1.5G,这对于一般的Docker镜像来说太臃肿了.Docker Hub官方提供的mysql镜像才324MB.目前来说我还没有找到什么好的方法把我制作的镜像的体积减下来,所以就先使用官方的吧! docker pull mysql:5.7 如何使用这个Docker镜像? 1.启动一个Mysql Server容器(默认端口3306) docker run --name mysql -

  • 如何自己搭建DockerHub实现过程解析

    前面我们使用的Docker Hub是由Docker官方提供的,我们也可以搭建自己的Docker,搭建方式也很容器,因为 Docker官方已经将Docker注册服务器做成镜像了,我们直接pull下来运行即可.具体步骤如下: 拉取镜像 运行如下命令拉取registry官方镜像: docker pull registry 运行 接下来运行如下命令将registry运行起来,如下: docker run -itd --name registry -p 5000:5000 2e2f252f3c88 运行成

  • 如何将本地构建好的docker镜像发布到dockerhub

    今天我们介绍如何将本地docker项目镜像发布到dockerhub上,好了废话不多说,直接进入正题: (1)去注册dockerhub账号: (2)账号注册好之后,我们创建一个仓库,用于存放镜像 (3)到这一步,我们已经可以看到创建成功界面 仓库路径:nbidashboard/nbiplatform (4)查看本地容器信息 sudo docker ps (5)提交容器: sudo docker commit CONTAINER ID nbidashboard/nbiplatform sudo do

  • DockerHub 镜像仓库的使用详解

    之前我们使用的镜像都是从 DockerHub 公共仓库拉取的,我们也学习了如何制作自己的镜像,但是通过 tar 包的方式实现镜像的备份恢复迁移对于团队协作开发并不是特别友好,我们也可以将镜像推送至 DockerHub 仓库方便使用. 温馨提示:如果构建的镜像内携带了项目数据,建议还是使用私有仓库比较好. 注册账号 官网:https://hub.docker.com/ 登录账号 通过 docker login 命令输入账号密码登录 DockerHub. 推送镜像至仓库 为了方便测试,我们将 hel

  • Docker镜像推送(push)到Docker Hub的实现

    镜像构建成功后,只要有docker环境就可以使用,但必须将镜像推送到Docker Hub上去.我们之前创建的镜像不符合Docker Hub的tag要求,因为 在Docker Hub注册的用户名是boonyadocker而不是boonya,所以需要docker tag进行修改,最后利用docker push命令推送镜像到公共仓库. Docker hub注册用户 到官网注册账号:https://hub.docker.com/ 在本地Linux登录docker: docker login 输入用户名密

  • Docker 教程之Docker Hub详细介绍

    Docker Hub 仓库(Repository)是集中存放镜像的地方. 一个容易混淆的概念是注册服务器(Registry).实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像.从这方面来说,仓库可以被认为是一个具体的项目或目录.例如对于仓库地址 dl.dockerpool.com/ubuntu 来说,dl.dockerpool.com 是注册服务器地址,ubuntu 是仓库名. 大部分时候,并不需要严格区分这两者的概念. 目前 Docker 官方维护了

  • Docker Hub运行原理及实现过程解析

    类似于GitHub提供的代码托管服务,Docker Hub提供了镜像托管服务,Docker Hub地址为https://hub.docker.com/,利用Docker Hub读者可以搜索.创建.分享和管理镜像.Docker Hub上的镜像分为两大类,一类是官方镜像,例如我们之前用到的nginx.mysql等,还有一类是普通的用户镜像,普通用户镜像由用户自己上传.对于国内用户,如果觉得Docker Hub访问速度过慢,可以使用国内一些公司提供的镜像,例 如网易:https://c.163yun.

  • Python unittest工作原理和使用过程解析

    这篇文章主要介绍了Python unittest工作原理和使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.unittest的工作原理: TestCase:一个testcase就是一条测试用例. setUp:测试环境的准备 tearDown:测试环境的还原 run:测试执行 TestSuite:测试套件或集合,多个测试用例的集合就是1个suite,一个suite可以包含多条测试用例,测试套件suite里面也可以嵌套测试套件suit

  • Docker 特性与原理详细介绍与解析

    Docker 特性与原理 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell 文件系统隔离:每个进程容器运行在完全独立的根文件系统里 写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间 资源隔离:可以使用cgroup为每个进程容器分配不同的系统资源 网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和IP地址 日志记录:Docker将会收集和记

  • Docker容器化部署Python应用过程解析

    简单应用部署 一.目录结构: └── Pythonpro #目录 └── test.py #文件 └── requirements.txt #文件 └── Dockerfile #文件 二.编写Dockerfile文件 # 基于镜像基础 FROM python:3.6.4 # 创建代码文件夹工作目录 /code RUN mkdir /code # 复制当前代码文件到容器中 /code COPY . /code # 安装所需的包 RUN pip install -r /code/requireme

  • Docker安装部署Net Core实现过程解析

    一.docker 安装及设置 #安装 CentOS已经将Docker软件包放在了Extras软件源中,直接利用即可 yum install docker-io -y #查看docker的版本 version docker -v #开启Docker服务 systemctl start docker.service #开机启动Docker服务 systemctl enable docker.service #查看Docker服务启动状态 systemctl status docker.service

  • SpringMVC文件上传原理及实现过程解析

    一.文件上传的必要前提 A form 表单的 enctype 取值必须是:multipart/form-data(默认值是:application/x-www-form-urlencoded) enctype:是表单请求正文的类型 B method 属性取值必须是 Post C 提供一个文件选择域 input type=file 二.借助第三方组件实现文件上传 三. /** * springmvc跨服务器上传文件 * @return */ @RequestMapping("/testFileUp

  • 手动编译并运行Java项目实现过程解析

    现在Java开发基本上就是IDE调试,如果跨平台打个jar包过去运行一般就可以了,但是有些情况比如需要引入外部依赖的时候,这个时候是不能直接运行的,还需要引入一些外部的参数,并不是简单的javac和java的关系了,下面来详细说一下 一般情况下,在本地都是使用eclipse开发工具进行开发,很多东西基本上就不用我们考虑了,如果我们要将项目放到Linux下运行的话,那么就需要进行转移的操作,当然有Maven.Ant这样的自动化部署工具,简直是太方便了,为了做到更进一步认识的话,我们纯手动的去打包一

  • Docker镜像构建原理解析(不装docker也能构建镜像)

    在devops流程里面 构建镜像是一个非常重要的过程,一般构建镜像是写dockerfile文件然后通过docker client来构建的image. docker client 会先检查本地有没有image,如果没有帮你 从镜像仓库 pull 下来 然后解析你写的dockerfile构建新的image. 本文带你了解 pull 命令 背后是怎么做的? build 命令 背后是怎么做的? 下篇文章带你解析: 如果我不用docker 我如何构建一个镜像? 我们以微软的aspnet2.2为基础构建一个

  • Docker部署nGrinder性能测试平台过程解析

    什么是nGrinder? nGrinder是用于压力测试的平台,使您可以同时执行脚本创建,测试执行,监视和结果报告生成器.开源nGrinder通过消除不便并提供集成环境,提供了进行压力测试的简便方法.它是根据Apache许可版本2.0许可的,是基于Grinder的开源的web性能测试平台,由韩国最大互联网公司NHN公司的开发团队进行了重新设计和完善. http://naver.github.io/ngrinder/ nGrinder由三个组件组成 controller:一个Web应用程序,使性能

  • Python程序运行原理图文解析

    本文研究的主要是Python程序运行原理,具体介绍如下. 编译型语言(C语言为例) 动态型语言 一个程序是如何运行起来的?比如下面的代码 #othermodule.py def add(a, b): return a + b #mainrun.py import othermodule a = ['xiaoke', 1, 'python'] a = 'xiaoke string' def func(): a = -5 b = 257 print(a + b) print(a) if __name

随机推荐