Docker学习笔记
转载:http://www.soaringroad.com/?p=134
Docker
- 容器技术
- 建立在LXC(Linux Container)上轻量级的VM解决方案
- 底层技术Linux内核里面的C-Group和namespaceLinux内核里面的C-Group和namespace
- 隔离作用
- 沙箱机制
- 虚拟机软件: VMWare VisualBox => KVM
Docker和KVM的对比
- KVM: 硬件->OS->Hypervisor(虚拟机软件)->GuestOS->bin/lib->APP
- Docker:硬件->OS->Docker Engine->container(LIB/BIN和APP)
Docker优缺点
启动
- docker: 秒级别
- KVM : 分级别
- => 扩容方便
硬盘空间
- docker: MB级别
- KVM : GB级别
- => 节省空间
资源使用率
- docker: 高
- KVM : 低
- => 节省资源
移植性
- docker: 高
- KVM : 低
- => 易移植
移植性
- docker: 略低
- KVM : 高
隔离性
- docker: 低
- KVM : 高
IO性能
- docker: 低
- KVM : 高
镜像和容器:
- 通过镜像可以去启动容器
- 容器的状态:created,up,exited
- 端口被占用的情况,docker无法启动
文件修改:
- 启动容器并显示交互界面,然后修改
- 挂载方式,本地修改
启动docker服务:
service docker start
常用命令
- docker version 查看版本
- docker info 查看详细信息
- docker images 查看本地镜像
- docker ps 查看正在运行的容器
- docker ps -a 查看所有容器(正在运行的和停止的)
- docker rm 删除容器
- docker m -f 强制删除容器
- docker create 创建容器
- docker start 启动容器
- docker run 创建并启动容器
- docker run –name 容器名 -d(后台运行)-p 本地端口:容器端口 -v(挂载) 挂载本地路径:挂载容器路径 镜像名称:版本号(默认latest)
- docker exec -it /bin/bash 执行容器并分配终端与其交互
- docker rmi 删除镜像
- docker pull 下载镜像
- docker logs 查看容器log