本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。
- 不同的运行环境,底层架构是不同的,这就会导致测试环境运行好好的应用,到了生产环境就会出现bug(就像有些游戏win7可以玩,win10就会闪退蓝屏)
- 容器是应用运行的平台,将应用程序封装在容器中,在任意地方都能运行(一次封装,到处运行)
| 特点 | 意义 |
|---|---|
| 灵活性 | 最复杂的应用也可以封装 |
| 轻量级 | 共享利用主机内核 |
| 可互换 | 即时部署更新和升级 |
| 便携式 | 可以本地构建,部署到云,任何地方运行 |
| 可扩展 | 增加并自动分发容器副本 |
| 可堆叠 | 垂直和即时堆叠服务 |
| 容器 | 虚拟机 |
|---|---|
| 共用核心 | 独享核心 |
| 秒级启动 | 分级启动 |
| 性能接近原生 | 性能弱于原生 |
| 计算资源几乎无浪费 | 资源浪费30-50%之间 |
| 单机支持量高达上千 | 单机支持量仅有几十 |
| 隔离方式为资源隔离 | 隔离方式为完全隔离 |
- 开源的应用容器引擎
- 可以为任何一个应用创造容器
- 一款基于go语言开发的轻量级的’虚拟机’,在Linux容器里运行的,遵循Apache2.0协议的开源工具
| 命名 | 含义 |
|---|---|
| UTS | 主机名与域名 |
| IPC | 信号量、消息队列、共享内存 |
| PID | 进程编号 |
| NETWORK | 网络设备、网络栈、端口等 |
| MOUNT | 挂载点 |
| USER | 用户与用户组 |
| 概念 | 释义 |
|---|---|
| 镜像 | 创建容器的基础 |
| 容器 | 从镜像创建的运行的实例 |
| 仓库 | 集中保存镜像的地方 |
#搜索镜像
docker search 仓库/镜像
#下载镜像
docker pull 仓库/镜像
#查看本地镜像
docker images
#查看镜像详细信息
docker inspect 镜像ID
#删除镜像
docker rmi 镜像ID
#为镜像增加标签
docker tag 旧标签 新标签
#导出镜像
docker save -o 镜像
#导入镜像
docker load -i 镜像
#登陆一个仓库
docker login 仓库
#推送一个镜像
docker push
#创建一个容器
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
