Docker优势
1) 更高效的利用系统资源
无论是应用执行速度、内存损耗或者文件存储速度,都要比传
统虚拟机技术更高效。
2)更快速的启动时间
Docker 容器应用,由于直接
运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启
动时间。
3)一致的运行环境
Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性
4)持续交付和部署
使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。
二:为什么要使用Docker
不仅仅开发团队可以理解应用运行环
境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像
5)更轻松的迁移
Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的,不用担心运行环境的变化导致应用无法正常运行的情况。
6)更轻松的维护和扩展
Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也
使得应用的维护更新更加简单。
7)对比传统虚拟机
| 特性 |
容器 |
虚拟机 |
| 硬盘使用 |
一般为MB |
一般为GB |
| 系统支持量 |
单机支持上千个容器 |
一般为几十个 |
首先使用yum安装docker
![截图00.png wKioL1mUSJWi7udwAAAMoyrGPuU491.png-wh_50]()
查看docker版本信息
![截图01.png wKioL1mUSLrTuyrCAAAZg-dim5s326.png-wh_50]()
或者使用docker info 俩种办法
![截图02.png wKioL1mUSN-ytjlQAAAqLhz5HsA137.png-wh_50]()
显示本机images
PEPOSITORY——来自哪个仓库 TAG——标记 IMAGE ID——镜像ID号 CREATED——创建时间 SIZE——镜像大小
![截图03.png wKioL1mUSPKTtr08AAATudAGHdI477.png-wh_50]()
查找images镜像
![截图04.png wKioL1mUSSuDWLhmAAAm-YtmcDE518.png-wh_50]()
获取下载images镜像
![截图05.png wKioL1mUSTmx5gfTAAAeQJP6Gnc989.png-wh_50]()
查看文件镜像
![截图06.png wKioL1mUSUyR9fxgAAAtwdShF24527.png-wh_50]()
或者 俩种办法
![截图07.png wKioL1mUSWChLxjRAAAXuf4tDh4252.png-wh_50]()
使用docker commit来扩展一个image
![截图08.png wKioL1mUSW7iUPqgAAALWCgKoxY226.png-wh_50]()
在容器种添加mariadb 需要yum
![截图09.png wKioL1mUSX7RbNJUAAAggUcav9I370.png-wh_50]()
![截图10.png wKioL1mUSYqzL8F3AAAk3w0LoCY884.png-wh_50]()
查看结果
![截图11.png wKioL1mUSZizeS92AAAYyIEL7K4146.png-wh_50]()
1) 从dockerfile来创建image
#this is a comment
FROM docker.io/jdeathe/centos-ssh:latest
MAINTAINER tom <tom@example.com>
RUN yum -q -y install apr apr-util
RUN yum -q -y install httpd
然后生成镜像
![截图12.png wKioL1mUSbuDpUWhAAAuH9rUKvA568.png-wh_50]()
![截图13.png wKioL1mUScjTfgN9AAA68x74gT8544.png-wh_50]()
![截图14.png wKioL1mUSenCKdulAAAha69v0SI830.png-wh_50]()
修改镜像标签
![截图15.png wKioL1mUSfjgDd2wAAAz5q4WoSk014.png-wh_50]()
从本地镜像导入
![截图16.png wKioL1mUSgyBST8bAAA0hrmMeuU327.png-wh_50]()
上传镜像 登录用户名 密码
![截图17.png wKioL1mUSmeA3O12AAAYbVcb9ko736.png-wh_50]()
![截图18.png wKioL1mUSnSgf66VAAAVNzmDpa0114.png-wh_50]()
二 移除本地镜像
![截图19.png wKioL1mUSoPj9iceAAAshaFxujc997.png-wh_50]()
存出镜像
![截图20.png wKioL1mUSpGx4nj7AAAOJSmeAlU753.png-wh_50]()
载入
![截图21.png wKioL1mUSsPBFeHUAAAKDfV6DJw840.png-wh_50]()
从本地镜像导入镜像库
![截图22.png wKioL1mUStXBeRneAAAK3iymRQI976.png-wh_50]()
三 容器
Docker包括三个概念
镜像(lmage) 容器(Container) 仓库(Repository)
1)Docker 镜像
对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。
2)Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资
源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境
变量、用户等)。
3)镜像不包含任何动态数据,其内容在构建之后也不会被改变。
4)镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生
改变,后一层上的任何改变只发生在自己这一层
如,删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除。在最终容器运行的时候,虽然不会看到这个文件,但是实际上该文件会一直跟随镜像。
1镜像容器
![截图23.png wKioL1mUSuuwwjRqAAAIYs_w_MA523.png-wh_50]()
命令使用
![截图24.png wKioL1mUSvriDyznAAAZGjB5kSU704.png-wh_50]()
![截图25.png wKioL1mUSw3RSy6OAAAmUETB6os183.png-wh_50]()
命令输出
![截图27.png wKioL1mUS3ajrtUwAAAecgLpJxk129.png-wh_50]()
查看容器 帮助 docker ps -h
![截图28.png wKioL1mUS6CDdoP7AAAgfBEztEk171.png-wh_50]()
容器启动
![截图29.png wKioL1mUS9Kgt36kAAAuiFkRXAA202.png-wh_50]()
容器停止
![截图30.png wKioL1mUS_qD4z54AAAq0nSwOLw513.png-wh_50]()
容器进程守护
![截图31.png wKioL1mUTA2AaS5KAAAPPOWMTSI825.png-wh_50]()
查看容器信息 ID 容器名等
![截图32.png wKioL1mUTCmgws6pAAAgBi6O1Hk174.png-wh_50]()
进入容器
![截图33.png wKioL1mUTFGCS3ZdAAAJDU9DI4M806.png-wh_50]()
![截图34.png wKioL1mUTF7z7zEPAAAIzZpitBE677.png-wh_50]()
删除处于UP的容器
![截图35.png wKioL1mUTG_AB4L8AAAIgajbzWg877.png-wh_50]()
批量删除多个容器
![截图36.png wKioL1mUTH_zd0rwAAAHyq_IECY467.png-wh_50]()
本文转自柴鑫旺 51CTO博客,原文链接:http://blog.51cto.com/chaixinwang/1956900,如需转载请自行联系原作者