Docker容器基础

2018-09-05

Docker容器基础

[TOC]

1.概念

先进的软件管理容器引擎,统一文件系统

基本概念

镜像 Image

容器 Container

仓库 Repository

数据卷

2.结构

镜像:相当于java中的

容器:相当于java中的对象

仓库:相当于属于镜像的maven仓库

数据卷: 容器间及本地共享资源等,可以快速引用

  1. 镜像可以增删,配置环境/资源/等等所有静态内容,但是不能运行
  2. 容器则相当于镜像的实例,可以创建/使用/停止/删除/暂停等,一个镜像可以实例化无数的容器,容器间相互独立隔绝
  3. 容器最好保持无状态,存储数据要独立于容器的数据卷等方式,这样容器消亡后,数据不会丢失.
  4. 仓库:存储镜像,每个镜像的每个版本都有自己的标签,可以通过标签来使用,和maven仓库同一概念

3.操作原理

CLI :命令窗口

RestAPI :Rest指令

DockerServer :Docker守护线程,核心程序

在CLI中使用Rest指令,即可轻松操纵Docker,简单方便

4.基本操作

[创建/运行/停止/暂停/删除]

  • docker create 创建Container
  • docker start 运行Container
  • docker run 创建并运行Container
  • docker stop 停止Container
  • docker kill 不友好的停止Container
  • docker pause 暂停Container
  • docker rm 删除Container(需要停止Container)
  • docker rmi 删除Image镜像

[创建镜像]

  • docker commit 容器提交为镜像
  • docker build 构建镜像

[查看]

  • docker ps 查看所有运行中的Container
  • docker ps –a 查看所有Container(包含未运行)
  • docker images 查看所有顶级镜像(top-leve)
  • docker images –a 查看所有镜像

[移植复制]

  • docker save 只对镜像生效,每一个层都保存了元数据,可以看到镜像历史版本
  • docker export 排除元数据,创建一个tar文件,多层合一,没有历史版本
  • docker history 查看镜像历史版本

[???骚操作]

  • docker exec 在运行中的容器执行一个新进程
  • docker inspect or 提取镜像或容器最顶级的元数据

5.使用链接

详细基础指令操作连接,配图

http://dockone.io/article/783

详细Docker指令文档,配每个指令详情

http://www.runoob.com/docker/docker-command-manual.html