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

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

一. 使用docker toolbox安装docker

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

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

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

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

在上一个教程中,我们在Docker容器中运行了whalesay镜像,但我们每次运行whalesay镜像的时候,如:

docker run docker/whalesay cowsay boo-boo

我们都不得不在后面添加cowsay boo-boo,才能使的whale能够打印出对应的话boo-boo。

在这次教程中,我们将对whalesay镜像做一些修改,创建我们自己的docker镜像并且在容器中运行它,使得能够让whale每次都自动说一句话出来

第一步:打开终端

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

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

先不要关闭终端,我们将使用它来创建文件和运行一些命令

第二步:编写一个Dockerfile文件

在这一步中,你将使用windows的记事本来编写一个简单的Dockerfile。 Dockerfile文件描述了当我们启动镜像的时候需要哪些软件元素。除了软件元素之外,Dockerfile还能够让我们能够在启动镜像的时候在容器中运行一些命令或者指明我们使用什么样的环境。

(1) 在终端中输入 cd Desktop 转到桌面

(2) 输入 mkdir testdocker 在桌面上创建一个testdocker文件夹

(3) 输入 cd testdocker 进入testdocker文件夹

(4) 输入 touch Dockerfile 创建一个Docker文件在当前目录。注意这里的Dockerfile的首字母是大写的(因为Linux文件名是大小写敏感的)

(5) 输入 notepad Dockerfile& 使用windows的记事本打开Dockerfile文件(注意最后面有一个 ‘&’)

(6) 在记事本中输入 FROM docker/whalesay:latest

FORM 关键字告诉Docker我们的镜像将基于哪一个镜像。这个的意思是说我们即将创建的镜像将给予whalesay镜像

(7)现在,加入fortunes程序到我们的景象中

fortunes程序有一个用来打印出一些话的命令,可以用来作为我们的whale说出的话。所以,首先我们需要先安装fortunes。

RUN apt-get -y update && apt-get install -y fortunes

这一行命令使用的是apt-get程序来下载和安装fortunes.

(8) 当你的镜像安装完它需要的软件之后,你就可以命令当镜像被加载之后运行软件

新添加的这一行告诉fortune程序输出它的结果作为输入给cowsay程序(管道)

(9) 保存你的Dockerfile文件

第三步: 用你的Dockerfile文件创建一个镜像

(1) 在终端中运行 docker build -t docker-whale . 命令(注意最后有一个点‘.’,表示Dockerfile文件在当前的目录下),这条命令的意思是利用当前目录下的Dockerfile来创建一个叫做docker-whale的镜像

然后你就会看到一堆输出,最后看到成功地创建了 XXX

第四步:运行你新的docker-whale

在这一步中,你将确认你的电脑已经安装了新的镜像,并且你可以运行这个新的镜像

(1) 在终端中输入 docker images

显示了你本地安装的一些镜像。你可以看到你刚刚创建的docker-whale镜像也在里面

(2) 输入 docker run docker-whale 运行docker-whale镜像

你将看到你的whale自动冒出了一句话出来,并且你每次运行它都会说不同的话。

自此,你已经创建了自己的一个镜像并且成功的运行了!

下一步:

到目前为止,你已经学会了在windows下安装docker已经运行和创建简单的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. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

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

  5. DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表

    原文:DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用 ...

  6. 【转载】Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决办法

    Docker Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docke ...

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

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

  8. docker安装后出现Cannot connect to the Docker daemon

    启动docker service docker start docker安装后出现Cannot connect to the Docker daemon You need to add user in ...

  9. 在 Docker 容器中运行应用程序

    案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 ...

随机推荐

  1. webpack使用教程

    webpack使用教程 接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是 ...

  2. webpack4新特性介绍

    导语: webpack是一个JS应用打包器, 它将应用中的各个模块打成一个或者多个bundle文件.借助loaders和plugins,它可以改变.压缩和优化各种各样的文件.它的输入是不同的资源,比如 ...

  3. Java 后端微信支付demo

    Java 后端微信支付demo 一.导入微信SDK 二.在微信商户平台下载证书放在项目的resources目录下的cert文件夹下(cert文件夹需要自己建) 三.实现微信的WXPayConfig接口 ...

  4. 使用IDEA搭建Spring Boot入门项目

    简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置 ...

  5. 本地不安装oracle,PLsql远程连接

    Oracle的Instant client工具包可以很好地解决本地不安装oracle,PLsql远程连接. 1.首先到Oracle网站下载Instant Client : http://www.ora ...

  6. JQuery代码实现上拉加载(不使用插件)

    <script type="text/javascript"> $(window).scroll(function() { //已经滚动到上面的页面高度 var sl_ ...

  7. Lucene教程 -------(一、初始Lucene)

    一.lucene的介绍 lucene是一个全文检索的框架,apache组织提供了一个用java实现的全文检索的开源项目.功能非常的强大,api非常简单,并且有了全文检索的功能支持可以非常方便的实现根据 ...

  8. 程序猿媛 九:Adroid zxing 二维码3.1集成(源码无删减)

    Adroid zxing 二维码3.1集成 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段. 转载请保留原文出处“http://my.oschina.net/gluoyer/blog”, ...

  9. String s=new String("abc")创建了几个对象?

    String str=new String("abc");   紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 答案应该是1个或者2个. 1个 ...

  10. java.lang.system 类源码解读

    通过每块代码进行源码解读,并发现源码使用的技术栈,扩展视野. registerNatives 方法解读 /* register the natives via the static initializ ...