Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

本教程主要分以下几点内容:

一. 使用docker toolbox安装docker

二. 使用docker引擎在容器中运行镜像

三. 创建自己的docker镜像并且在容器中运行它

----------------------------------------------------------------------------------------

二. 使用docker引擎在容器中运行镜像

1. 什么是镜像与容器?

Docker引擎提供核心的Docker技术能够启动镜像和容器。在上一个教程中,我们运行了docker run hello-world命令,这个命令会被分解为三个部分

一个镜像是能够在运行状态下的使用一个文件系统以及它的参数。它没有状态并且不能够被改变。一个容器是一个运行状态的镜像的实例。

当我们运行docker run hello-world命令的时候,Docker引擎会做一下三件事:

  • 检查是否你有一个hello-world软件镜像
  • 从Docker Hub上下载这个镜像(我们将在之后的教程中介绍Docker Hub)
  • 载入镜像到容器中并且运行它

一个Docker的镜像能做非常多的事情,比如说可它可以启动一个像数据库一样复杂的软件,等待你去添加数据,存储数据等等

Docker运行所有人通过Docker镜像去创建和分享软件。使用Docker引擎的话,你不需要去担心是否你的电脑能够运行Docker镜像中的软件,Docker容器总是能够运行它们

2. 运行Docker镜像 

接下来我们将通过一个例子(whalesay)来介绍如何运行Docker镜像。

在运行镜像之前,先让我们来知道一个获取别人已经做好的镜像的方法。因为全世界的人都能够创建Docker镜像,因此Docker提供了一个叫做Docker Hub的地方可以让人们分享自己的Docker镜像或获取别人的Docker镜像。

第一步: 找到我们需要的whalesay镜像

(1)打开你的浏览器,并且打开 Docker Hub 地址

(2). 在搜索输入框中输入whalesay

在结果中找到docker/whalesay

(3) 点击docker/whalesay,将会看到whalesay镜像的仓库以及它的一些介绍

每一个镜像仓库都包含一些关于镜像的信息,这些信息必须包括如镜像中包含了什么软件以及如何使用它们。你可能注意到whalesay镜像是基于Linux的一个发行版Ubuntu,接下来,我们将看到如何在你的机器中运行whalesay镜像

第二步:运行whalesay镜像

如果你没有打开Docker Quickstart Terminal的话,请先打开终端

(1)在你的桌面中找到Docker Quickstart Terminal图标

(2)双击图标启动Docker Quickstart Terminal

(3)在终端中输入docker run docker/whalesay cowsay boo并且回车

这个命令将在你的容器中运行whalesay镜像,你将在终端中看到如下的输出

当你第一次运行软件镜像的时候,docker命令会先查找你本地系统中是否有这个镜像,如果镜像不存在的话,那么docker会自动从hub上获取这个镜像

(4)接下来,在终端中输入 docker images 并且回车

这个命令将显示出你的本地系统中有哪些景象,这个时候你将看到刚刚已经安装了docker/whalesay镜像在列表里面了

当你在容器中运行镜像的时候,Docker会下载镜像到你的电脑里面。当镜像的源在hub上被改变的时候,Docker会下载并更新本地的镜像。当然,本地镜像也是可以删除掉的。我们将在之后的教程中介绍更多关于镜像的内容。

(5)whalesay镜像是在干吗呢?

可以试一下运行下面这个命令:docker run docker/whalesay cowsay Hello-Jinjin

你会看到小鲸鱼说的话变成了Hello-Jinjin,

下一步:

在本次教程中,你学会了如何在Docker Hub上搜索镜像,以及如何使用命令去运行镜像。这有什么意义呢?你要知道在运行的是一个linux软件,而你用的是windows系统。这就是Docker容器的魅力所在。

在下一个教程中,我们将学习如何创建自己的Docker镜像。

Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像的更多相关文章

  1. Windows10下的docker安装与入门 (一)使用docker toolbox安装docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. (转)Windows10下的docker安装与入门 (一)使用docker toolbox安装docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  3. Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  4. Docker: 安装配置入门[二]

    一.安装配置启动 1.环境 [root@docker1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@d ...

  5. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...

  6. Docker安装使用以及mlsql的docker安装使用说明

    1.检查内核版本,必须是3.10及以上 uname -r 2.安装 yum -y install docker #1.启动   docker systemctl start docker #1.1.验 ...

  7. .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑

    今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...

  8. Elasticsearch核心技术(1)--- Docker容器中运行ES、Kibana、Cerebro

    Docker容器中运行ES,Kibana,Cerebro和Logstash安装与数据导入ES 想加强ES有关的知识,看了阮一鸣老师讲的<Elasticsearch核心技术与实战>收获很大, ...

  9. 在Linux和Windows的Docker容器中运行ASP.NET Core

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...

随机推荐

  1. eventProxyAPI(转)

    EventProxy 仅仅是一个很轻量的工具,但是能够带来一种事件式编程的思维变化.有几个特点: 利用事件机制解耦复杂业务逻辑 移除被广为诟病的深度callback嵌套问题 将串行等待变成并行等待,提 ...

  2. Django——ORM

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  3. RESTful WebService 入门实例

      /* 新建MavenProject,使用以下代码,创建类和POM文件.使用命令行切换到Project根目录,运行mvn package(或者,选中pom.xml 文件右键单击 > run a ...

  4. Java NIO系列教程(六) 多路复用器Selector

    多路复用器Selector是Java NIO编程的基础,熟练地掌握Selector对于掌握NIO编程至关重要.多路复用器提供选择已经就绪的任务的能力.简单来讲,Selector会不断地轮询注册在其上的 ...

  5. java集合框架详解

    java集合框架详解 一.Collection和Collections直接的区别 Collection是在java.util包下面的接口,是集合框架层次的父接口.常用的继承该接口的有list和set. ...

  6. Orcle查询优化改写-----给查询结果排序

    1.按照子串排序 2.translate

  7. html5 input type="color"边框伪类效果

    html5为input提供了新的类型:color <input type="color" value="#999" id="color" ...

  8. 201621123062《java程序设计》第14周作业总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 思维导图: 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的 ...

  9. Beat冲刺报告---Day0

    Beta阶段报告---Day0 1.需要改进完善的功能   我们上一阶段开发由于开发时间匆忙,对于爬虫耗时的优化没有考虑.优化的空间我在Alpha阶段的总结报告里说过,具体看下图.   这张图显示出爱 ...

  10. 展示博客(Beta版本)

    团队:xjbz 1. 团队成员博客,源码仓库地址. coding:https://git.coding.net/z404395979/xjbz.git 钟平辉(071):http://www.cnbl ...