# Docker 是什么??
Docker 属于Linux容器的一种封装, 提供简单易用的容器使用接口.
Docker将应用程序和程序依赖, 打包在一个文件里面. 运行这个文件,就会生成一个虚拟容器.程序在这个虚拟容器里面运行,就好像在真是的物理机上运行一样
Docker的接口很简单, 用户可以方便的创建和使用容器,把自己的应用放在容器.容器还可以进行版本管理,复制,分享,修改,就像管理普通代码一样
# Docker 用途
1. 提供一次性环境: 本地测试他人的软件,持续集成的时候提供单元测试和构建环境
2. 提供弹性的云服务: Docker容器可以随开随关,适合动态扩容和缩容
3. 组件微服务架构: 通过多个容器,一台机器可以跑多个服务,因此可以在本机模拟出为服务架构
# image
Docker把应用程序和程序依赖打包到image文件.只有通过这个文件才能生成docker容器.
image可以看做Docker容器的模板. Docker根据image文件生成容器实例. 同一个image文件可以生成多个同时运行的容器实例.
image是二进制文件.开发中,一个image文件往往通过继承另一个image文件,加上一些个性化设置而生成
image文件是通用的,一台机器的image文件拷贝到另一台机器,照样可以使用.
### 命令
docker image ls: 列出本机所有image文件
docker image rm [imageName]: 删除image文件
# 容器文件
image文件生成的容器实例, 本身也是一个文件, 成为容器文件.
也就是说, 容器一旦生成, 就会同时存在两个文件:image文件和容器文件. 而且关闭容器不会删除容器文件,只是容器文件停止运行.
### 命令
docker container ls: 列出本机正在运行的容器
docker container ls -all: 列出本机所有的容器包括终止运行的容器
docker container rm [containerID]:删除容器
# Dockerfile文件
文本文件,用来配置image. Docker根据该文件生成二进制的image文件