# 常用指令
```docker images``` 列出本地 docker 镜像
```docker ps -a``` 列出所有正在运行的容器
```docker stop containerID``` 停止容器
```docker start containerID``` 开始容器
```sudo docker exec -it containerID /bin/bash``` 进入容器内
```linux --mount``` 挂载 Unix 文件系统( Unix File System )之外的文件,或使用 Volume 数据卷。
容器互联:
推荐将容器加入自定义的Docker网络,连接多个容器,或使用```--link``` 指令。
# 定义
基于Linux内核和 LXC (Linux Container) 技术,对进程进行封装和隔离,属于操作系统层面的虚拟化技术,在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。
# 优势
相较于传统的虚拟机技术,docker 具有更加轻量级、易于管理和并发的特点。
![image](https://ygria.oss-cn-hangzhou.aliyuncs.com/Hexo/docker%E4%BC%98%E5%8A%BF.png)
# Docker 基本概念:
+ 镜像( Image )
+ 容器 ( Container )
+ 仓库 ( Repository )
## 镜像
使用pull指令,可以拉取 DockerHub 中的开源镜像到本地使用。
docker pull mysql
docker images 列出本地的镜像
### 定制镜像
使用 DockerFile
FROM scratch
FROM指令为以什么为基础镜像,若为scratch意味着不以任何镜像为基础。
## 容器
容器之于镜像,如同实例之于类,创建容器,意为给镜像生成了一个实例。
> docker --name mysql -p 3306:3306 -d mysql
若不使用-d,容器会将输出的结果(STDOUT)打印到宿主机上。
如果使用了-d参数运行容器,容器会在后台运行,并不会在前台输出结果。若要看输出,可使用docker logs containerID指令进行查看。
## 仓库
在定制好个人的镜像后,可以搭建仓库进行存储。