Docker系列之(一):10分钟玩转Docker(转)
1、前言
进入云计算的时代,各大云提供商AWS,阿里云纷纷推出针对Docker的服务,现在Docker是十分火爆,那么Docker到底是什麽,让我们来体验一下。
2、Docker是什麽
Docker是一个开源的应用容器引擎,可以把应用以及依赖包放到一个可移植的容器中,然后发布到任何流行的 Linux 系统上,通过这种方式实现虚拟化。
提到虚拟化,大家应该十分熟悉了,有VMware,Xen,KVM等等很多。那么,Docker和VM有什么不同呢,我们用官网的一张图来说明一下。

可以看出,Docker和VM比较,用Docker引擎替代了Hyper-v,没有Gest OS,应用是放到容器里,直接运行在宿主机的OS上。
这样做的好处是,各容器间虽然隔离,但共享系统资源和公用库,剥离了Gest OS这层,系统资源利用率更高。
另外,因为Docker容器的灵活性,在程序的 开发 → 测试 → 发布,整个流程能保证环境的一致性,并大大减少工作量和时间。这也是Docker十分火爆的主要原因。
说到这里,大家可能已经等不及了吧,下面一起来使用一下Docker。
3、使用Docker
官方的Docker Hub上有一些共有的镜像,可以直接拿来放到容器里使用,也可以自己创建镜像,保存后供容器使用。今天使用公用的镜像创建一个nginx的容器。
3.1 安装Docker
Docker的安装十分简单,用yum或apt-get可以直接安装。
|
1
|
# yum install -y docker |
3.2 启动Docker
|
1
|
# service docker start |
3.3 查看信息
|
1
|
# docker info |

安装到此结束,接下来创建一个nginx的容器。
3.4 查找镜像
在Docker Hub上查找nginx的镜像。
|
1
|
# docker search nginx |

3.5 抓取镜像
我们下载的是官方的nginx镜像。
|
1
|
# docker pull nginx |

3.6 查看镜像
|
1
|
# docker images |

3.7 定镜像创建容器并启动
指定刚才获取的nginx镜像。
|
1
|
# docker run -d -p 80:80 --name cn1 nginx |

解释一下各参数:
-d 放在后台执行
-p 主机端口:容器端口 将容器的端口映射到主机上,目的是可以直接对外提供访问
--name 指定容器名
3.8 查看容器
|
1
|
# docker ps |

在浏览器访问服务器的IP,可以打开nginx的默认页面

到此,一个nginx容器已经创建成功。下面介绍一下其他一些命令。
3.9 结束容器
|
1
|
# docker kill cn1 |

3.10 查看所有容器
|
1
|
# docker ps -a |

3.11 启动容器
|
1
|
# docker start cn1 |

3.12 删除容器
|
1
|
# docker rm sad_heisenberg |

4、后记
本文只是对Docker一个简单的介绍,其他的用法,以后会陆续介绍,请持续关注本博客。
Docker系列之(一):10分钟玩转Docker(转)的更多相关文章
- Docker系列之(一):10分钟玩转Docker
1.前言 进入云计算的时代,各大云提供商AWS,阿里云纷纷推出针对Docker的服务,现在Docker是十分火爆,那么Docker到底是什麽,让我们来体验一下. 2.Docker是什麽 Docker是 ...
- Docker学习总结(10)——10分钟玩转Docker
1.前言 进入云计算的时代,各大云提供商AWS,阿里云纷纷推出针对Docker的服务,现在Docker是十分火爆,那么Docker到底是什麽,让我们来体验一下. 2.Docker是什麽 Docker是 ...
- 一张表搞懂各种 Docker 监控方案 - 每天5分钟玩转 Docker 容器技术(86)
前面我们已经介绍了ps/top/stats.Sysdig.Weave Scope.cAdvisor 和 Prometheus 多种容器监控工具和方案,是时候做一个比较了.下面将从五个方面来对比它们之间 ...
- 【Docker】(9)---每天5分钟玩转 Docker 容器技术之镜像
镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器.为什么我们要讨论镜像的内部结构? 如果只是使用镜像,当然不需要了解,直接通过 docker 命令下载和运行就可以了. 但如 ...
- docker managed volume - 每天5分钟玩转 Docker 容器技术(40)
docker managed volume 与 bind mount 在使用上的最大区别是不需要指定 mount 源,指明 mount point 就行了.还是以 httpd 容器为例: 我们通过 - ...
- Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)
本节我们对 Docker 镜像做个小结. 这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用 Docker Hub 和本地 registry. 下面是镜像的常用操作子命令: i ...
- ELK 完整部署和使用 - 每天5分钟玩转 Docker 容器技术(90)
上一节已经部署了容器化的 ELK,本节讨论如何将日志导入 ELK 并进行图形化展示. 几乎所有的软件和应用都有自己的日志文件,容器也不例外.前面我们已经知道 Docker 会将容器日志记录到 /var ...
- 万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)
前面的 ELK 中我们是用 Filebeat 收集 Docker 容器的日志,利用的是 Docker 默认的 logging driver json-file,本节我们将使用 fluentd 来收集容 ...
- 如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)
上一节已经部署好了 Graylog,现在学习如何用它来管理日志. 首先启动测试容器. docker run -d \ --log-driver=gelf \ --log-opt gelf-addres ...
随机推荐
- pygame系列
在接下来的blog中,会有一系列的文章来介绍关于pygame的内容,pygame系列偷自http://www.cnblogs.com/hongten/p/hongten_pygame_install. ...
- sdut 6-2 多态性与虚函数
6-2 多态性与虚函数 nid=24#time" title="C.C++.go.haskell.lua.pascal Time Limit1000ms Memory Limit ...
- Welcome Docker to SUSE Linux Enterprise Server【水平有限,中英对比,求纠错】
原文:Welcome Docker to SUSE Linux Enterprise Server Lightweight virtualization is a hot topic these ...
- in与exist , not in与not exist 的区别(转)
in和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询.一直以来认为exists比in效率高的说法是不准确的. 如果查询的 ...
- (step7.2.2)hdu 2161(Primes——判断是否是素数)
题目大意:输入一个n,判断您是否是素数.. 解题思路:简单数论 代码如下: /* * 2161_1.cpp * * Created on: 2013年8月31日 * Author: Administr ...
- 【ThinkingInC++】61、非成员运算符
非成员运算符 当操作者的左侧是不同的类时.运算符重载不可能是正确的类中. IostreamOperatorOverloading.cpp /** * 书本:[ThinkingInC++] * 功能:非 ...
- css3仿山猫侧边栏
演示:http://jsfiddle.net/Adce2/ 其主要思想: 1, 先画边栏html. 2, 使用css3分别财产close sidebar-content动图片. 3, 使用css3的k ...
- JAVA: httpclient 具体解释——第五章;
httpclient 具体解释--第一章: httpclient 具体解释--第二章: httpclient 具体解释--第三章: httpclient 具体解释--第四章: httpclient 具 ...
- HDU ACM 1071 The area 定积分计算
分析: 1.求抛物线方程F(x)=a*x^2+b*x+c: 2.求直线方程f(x)=k*x+b. 3.利用定积分计算F(x)-f(x)在x2到x3之间的面积. #include<iostream ...
- W5500 keep-alive的用途及使用
大家是否遇到过这种问题,W5500作为server已经建立连接,突然网线掉了,然后再去连接W5500.就连不上了. 为什么?以下对这个问题进行解释说明,并提出解决的方法. 图1中的上位机程序作为cli ...