一、容器概述
1.1 容器是什么
- 不同的运行环境,底层架构是不同的,这就会导致测试环境运行好好的应用,到了生产环境就会出现bug(就像有些游戏win7可以玩,win10就会闪退蓝屏)
- 容器是应用运行的平台,将应用程序封装在容器中,在任意地方都能运行(一次封装,到处运行)
1.2 容器的特点
特点 | 意义 |
灵活性 | 最复杂的应用也可以封装 |
轻量级 | 共享利用主机内核 |
可互换 | 即时部署更新和升级 |
便携式 | 可以本地构建,部署到云,任何地方运行 |
可扩展 | 增加并自动分发容器副本 |
可堆叠 | 垂直和即时堆叠服务 |
1.3 容器/虚拟机对比
容器 | 虚拟机 |
共用核心 | 独享核心 |
秒级启动 | 分级启动 |
性能接近原生 | 性能弱于原生 |
计算资源几乎无浪费 | 资源浪费30-50%之间 |
单机支持量高达上千 | 单机支持量仅有几十 |
隔离方式为资源隔离 | 隔离方式为完全隔离 |
二、docker概述
2.1 docker是什么
- 开源的应用容器引擎
- 可以为任何一个应用创造容器
- 一款基于go语言开发的轻量级的’虚拟机’,在Linux容器里运行的,遵循Apache2.0协议的开源工具
2.2 docker命名空间
命名 | 含义 |
UTS | 主机名与域名 |
IPC | 信号量、消息队列、共享内存 |
PID | 进程编号 |
NETWORK | 网络设备、网络栈、端口等 |
MOUNT | 挂载点 |
USER | 用户与用户组 |
2.3 docker核心概念
概念 | 释义 |
镜像 | 创建容器的基础 |
容器 | 从镜像创建的运行的实例 |
仓库 | 集中保存镜像的地方 |
三、镜像/docker基础命令
3.1 镜像命令
#搜索镜像 docker search 仓库/镜像 #下载镜像 docker pull 仓库/镜像 #查看本地镜像 docker images #查看镜像详细信息 docker inspect 镜像ID #删除镜像 docker rmi 镜像ID #为镜像增加标签 docker tag 旧标签 新标签 #导出镜像 docker save -o 镜像 #导入镜像 docker load -i 镜像 #登陆一个仓库 docker login 仓库 #推送一个镜像 docker push
3.2 docker命令
#创建一个容器 docker create -i [--name=名字] 镜像 #创建容器时执行命令,并且放入后台执行 docker create -itd [--name=名字] 镜像 命令 #启动容器 docker start 容器ID/名字 #关闭容器 docker stop/kill 容器ID/名字 #查看所有容器的所有状态[ID] docker ps -a[q] #删除容器 docker rm 容器ID/名字 #删除所有容器 docker rm $(docker ps -aq) #创建并后台运行容器 docker run -itd 镜像 bash
四、思维导图