目录
注意:有镜像才能创建容器,这是前提
1. 新建 + 启动容器
语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
参数:
参数 | 含义 |
--name = "Name" | 容器新名字,为容器指定一个名称 |
-d | 后台运行容器并返回容器ID,也即启动守护式容器 |
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用。所以 -it 表示启动交互式容器( 前台有伪终端,等待交互) |
-P | 随机端口映射 |
-p | 指定端口映射,其中包含具体以下方式: (1) -p ip:主机端口:容器端口 (2) -p 主机端口:容器端口(常用) (3) -p 容器端口 (4) 容器端口 |
示例:新建一个centos容器,启动并进入容器
docker pull centos # 拉取镜像,有了镜像才可以创建容器
docker images # 查看镜像
docker run -it centos /bin/bash # 启动并进入交互式容器
当启动并进入容器时,左侧变成了容器id,通过ls可以查看容器内的centos
2. 列出所有运行的容器
语法:docker ps [选项]
选项:
- 默认(空):列出当前正在运行的容器
- -a:列出当前正在运行的容器 + 历史运行过的容器
- -n=? :显示最近创建的容器
- -q:只显示容器编号
3. 退出容器
语法:
- exit # 退出容器并停止
- Ctrl + p + q # 退出容器不停止
4. 删除容器
语法:
- docker rm 容器id # 删除已经停止的容器,不能删除正在运行的容器
- docker rm -f $(docker ps -aq) # 删除所有容器
- docker ps -a -q|xargs docker rm # 删除所有容器
6. 启动和停止容器
- docker start 容器id / 容器名 # 启动一个已经停止的容器
- docker restart 容器id / 容器名 # 重启容器
- docker stop 容器id / 容器名 # 停止当前正在运行的容器
- docker kill 容器id / 容器名 # 强制停止当前容器
7. 易混淆地方
(1) 镜像和容器的关系
- 镜像是个文件,容器是由镜像实例化而来的
- 容器是基于镜像创建的, 即容器中的进程依赖镜像中的文件
- 基于一个镜像可以创建多个容器
(2) dcoker run 和 docker start 的区别
- docker run 后面跟的是一个镜像,docker start后面跟的是一个容器。
- docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器
(3) docker stop 和 docker kill 的区别
- kill是不管容器同不同意,直接执行kill -9,强行终止
- stop是先给容器发送一个TERM信号,让容器做一些退出前必须的保护性、安全性操作,然后让容器自动停止运行
注:如看其他Docker内容,可看我博客Docker系列aaron_neil_Dcoker系列,持续更新中。