前言
本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。
一、容器概述
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
四、思维导图

五、结语