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. 【吐槽向】iOS 中的仿射变换

    什么是仿射变换矩阵 CGAffineTransform 实际上就是一个用于绘制 2D 图形的的仿射变换矩阵.仿射变换矩阵用于旋转.缩放.平移.扭曲(skew)在图形上下文中绘制的对象.CGAffine ...

  2. ASP.NET MVC上传图片的奇怪问题

    本文来源于博客园-钱智慧,转载请注明出处 表现:客户说就华为的手机有问题,而且是在QQ里打开有问题,如果在手机的浏览器上,则可以正常上传图片. 有问题的代码如下: private ResultMode ...

  3. 集合详解(python)

    集合概念 集合是一个数学概念:由一个或多个确定的元素所构成的整体叫做集合. 集合中的元素三个特征: 确定性(元素必须可hash) 互异性(去重)--将一个列表变为集合,就自动去重了 无序性(集合中的元 ...

  4. Redis登录密码设置

    1. 更改Redis.conf配置 # requirepass foobared 去掉注释,foobared改为 自己的password , 我测试的时候用的是默认的 foobared 2.启动red ...

  5. 纯CSS制作网页图标

    三角形 <div class="box"></div> <style>.box{ width: 0; height: 0; border-top ...

  6. 语句in

    Python :in在for中: for name  in names: names='1','2','3','4','5' for name in names: print(names) in no ...

  7. CentOS7搭建solr7.2

    solr介绍 一.Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中. 二.Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式( ...

  8. centos7上安装ffmpeg

    FFmpeg介绍 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音 ...

  9. 【Spring源码深度解析学习系列】默认标签解析(三)

    Spring的标签包括默认标签和自定义标签两种 默认标签的解析方法: ###DefaultBeanDefinitionDocumentReader.java### private void parse ...

  10. nginx session 配置失效解决

    nginx 反向代理后台web服务器session path导致的session 失效,特此总结下配置方法: 配置如下: location ^~ /2016tyjf_dev/djwechat { pr ...