Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
本教程主要分以下几点内容:
----------------------------------------------------------------------------------------
二. 使用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引擎在容器中运行镜像的更多相关文章
- Windows10下的docker安装与入门 (一)使用docker toolbox安装docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- (转)Windows10下的docker安装与入门 (一)使用docker toolbox安装docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- Docker: 安装配置入门[二]
一.安装配置启动 1.环境 [root@docker1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@d ...
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...
- Docker安装使用以及mlsql的docker安装使用说明
1.检查内核版本,必须是3.10及以上 uname -r 2.安装 yum -y install docker #1.启动 docker systemctl start docker #1.1.验 ...
- .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...
- Elasticsearch核心技术(1)--- Docker容器中运行ES、Kibana、Cerebro
Docker容器中运行ES,Kibana,Cerebro和Logstash安装与数据导入ES 想加强ES有关的知识,看了阮一鸣老师讲的<Elasticsearch核心技术与实战>收获很大, ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...
随机推荐
- 原生js实现简单的全屏滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Go基础之锁的初识
当我们的程序就一个线程的时候是不需要用到锁的,但是通常我们实际的代码不会是单个线程的,所有这个时候就需要用到锁了,那么关于锁的使用场景主要涉及到哪些呢? 当我们多个线程在读相同的数据的时候则是需要加锁 ...
- 笔记:Maven 依赖及配置详解
dependencies 配置节,主要用于配置项目依赖的其他包,其子节点 dependency 用来配置具体依赖包,有groupId.artifactId.version.scope等子节点来说明,配 ...
- spring boot 2.0.0由于版本不匹配导致的NoSuchMethodError问题解析
spring boot升级到2.0.0以后,项目突然报出 NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBu ...
- 【CSS】 CSS 定位
css 定位和浮动 *******本章大量内容copy自w3school********* 定位对于html界面还是很重要的,因为定位会直接影响到用户的视图.对于css而言,定位也比较灵活. 浮动是一 ...
- 控制input只能输入数字和两位小数
<input type="text" name="je" onkeyup="clearNoNum(this)" /> funct ...
- Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践
我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...
- 升级 mysql5.6 配置文件my.cnf sql_mode 解析与设置问题
sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入.在生产环境必须将这个值设置为严格模式,所以开发.测试环境的数据库也必须要设置,这 ...
- JavaScript(第七天)【对象和数组】
什么是对象,其实就是一种类型,即引用类型.而对象的值就是引用类型的实例.在ECMAScript中引用类型是一种数据结构,用于将数据和功能组织在一起.它也常被称做为类,但ECMAScript中却没有这种 ...
- 软工实践项目需求分析(团队)修改版get√-黄紫仪
日常前言:随笔距离文档大体完成已经过去了2天+(因为中间插了一波结对作业),所以目测感受没有那时候清晰(那时候烦的想打人了都--)需求分析那边去百度找了模板.emmmm好多东西感觉听都没听说过QAQ, ...