容器生命周期管理命令
run
创建一个新的容器。
# 使用docker镜像nginx:latest以后台模式启动一个容器,# 并将容器命名为mynginx。 docker run --name mynginx -d nginx:latest # 使用镜像 nginx:latest,以后台模式启动一个容器,# 将容器的 80 端口映射到主机的 80 端口,# 主机的目录 /data 映射到容器的 /data。 docker run -p 80:80 -v /data:/data -d nginx:latest # 使用镜像nginx:latest以交互模式启动一个容器,# 在容器内执行/bin/bash命令。 docker run -it nginx:latest /bin/bash
start/stop/restart
docker start : 启动一个或多个已经被停止的容器。
docker stop : 停止一个运行中的容器。
docker restart : 重启容器。
# 启动已被停止的容器mynginx docker start mynginx # 停止运行中的容器mynginx docker stop mynginx # 重启容器mynginx docker restart mynginx
kill
杀掉一个运行中的容器。可选参数:
-s : 发送什么信号到容器,默认 KILL
# 根据容器名字杀掉容器 docker kill tomcat7 # 根据容器ID杀掉容器 docker kill 65d4a94f7a39
rm
删除一个或多个容器。
# 强制删除容器 db01、db02: docker rm -f db01 db02 # 删除容器 nginx01, 并删除容器挂载的数据卷: docker rm -v nginx01 # 删除所有已经停止的容器: docker rm $(docker ps -a -q)
create
创建一个新的容器但不启动它。
# 使用docker镜像nginx:latest创建一个容器,并将容器命名为mynginx docker create --name mynginx nginx:latest
exec
在运行的容器中执行命令。可选参数:
-d : 分离模式: 在后台运行
-i : 即使没有附加也保持STDIN 打开
-t : 分配一个伪终端
# 在容器 mynginx 中以交互模式执行容器内 /root/nginx.sh 脚本 docker exec -it mynginx /bin/sh /root/nginx.sh # 在容器 mynginx 中开启一个交互模式的终端 docker exec -i -t mynginx /bin/bash # 也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。 docker ps -a docker exec -it 9df70f9a0714 /bin/bash
pause/unpause
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。
# 暂停数据库容器db01提供服务。 docker pause db01 # 恢复数据库容器 db01 提供服务 docker unpause db0
容器操作命令
ps
列出容器。可选参数:
-a : 显示所有的容器,包括未运行的。
-f : 根据条件过滤显示的内容。
–format : 指定返回值的模板文件。
-l : 显示最近创建的容器。
-n : 列出最近创建的n个容器。
–no-trunc :