3. 容器的运行管理

容器的管理分为:启动(start)、停止(stop)、重启动(restart)、暂停(pause)、恢复(unpause)、删除(rm)操作。

容器功能
命令格式
说明
启动
docker start [选项] 容器名或容器ID
启动处于停止状态的容器。
停止
docker stop [选项] 容器名或容器ID
停止正在运行的容器。
重启动
docker restart [选项] 容器名或容器ID
停止容器的运行重新启动。
暂停
`docker pause [选项] 容器名或容器ID
暂停容器的运行。
恢复
`docker unpause [选项] 容器名或容器ID
恢复已暂停容器的运行。
删除
`docker rm [选项] 容器名或容器ID
删除容器。

停止和暂停状态的区别

示例

weimingze@mzstudio:~$ sudo docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE     STATUS          NAMES
a9cffc0d7700   mysql     Up 17 minutes   mysql_server
weimingze@mzstudio:~$ sudo docker stop mysql_server
mysql_server
weimingze@mzstudio:~$ sudo docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE     STATUS    NAMES
weimingze@mzstudio:~$ sudo docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE          STATUS                      NAMES
a9cffc0d7700   mysql          Exited (0) 9 seconds ago    mysql_server

weimingze@mzstudio:~$ sudo docker start mysql_server
mysql_server
weimingze@mzstudio:~$ sudo docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE     STATUS         NAMES
a9cffc0d7700   mysql     Up 3 seconds   mysql_server
weimingze@mzstudio:~$ sudo docker pause mysql_server
mysql_server
weimingze@mzstudio:~$ sudo docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE     STATUS                   NAMES
a9cffc0d7700   mysql     Up 30 seconds (Paused)   mysql_server
weimingze@mzstudio:~$ sudo docker unpause mysql_server
mysql_server
weimingze@mzstudio:~$ sudo docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE     STATUS          NAMES
a9cffc0d7700   mysql     Up 46 seconds   mysql_server
weimingze@mzstudio:~$ sudo docker stop mysql_server
mysql_server
weimingze@mzstudio:~$ sudo docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE     STATUS    NAMES
weimingze@mzstudio:~$ sudo docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE          STATUS                      NAMES
a9cffc0d7700   mysql          Exited (0) 16 seconds ago   mysql_server
weimingze@mzstudio:~$ sudo docker rm mysql_server
mysql_server
weimingze@mzstudio:~$ sudo docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE     STATUS    NAMES

上述 docker ps 命令使用 --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}" 选项是只显示 CONTAINER ID, IMAGE, STATUS, NAMES 这四列。