Docker容器操作
1.列出所有容器
docker ps [OPTIONS]
# OPTIONS
-a:所有正在运行和运行过的
-q:只显示容器id
-l:显示最新创建的容器(包括所有状态)
-n int:显示最近创建的n个容器
--no-trunc:不截断输出
-s:显示文件总大小
2.新建并运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# OPTIONS
-i:保持标准输入打开
-t:分配一个伪终端
-d:在后台运行容器
-p 指定端口映射,宿主机端口:容器端口
-P:随机端口映射
-v [HOST DIR:]CONTAINER-DIR:挂载主机上的文件卷到容器内
-- volumes- from=[]:从其他容器挂载卷
--name:指定容器的别名
-w:容器内的默认工作目录
-e:指定容器内环境变量
-h:指定容器内的主机名
example:
# 启动centos并进入容器内
docker run -it -P --name centos7 -w /home centos:7 /bin/bash
# 后台运行nginx
docker run -d -p 80:80 nginx
3.退出容器
# 退出容器并停止容器
exit
# 退出容器但容器仍然运行
ctrl+p+q
3.停止容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
# OPTIONS
-t int:杀死此容器之前等待多少秒,默认10秒
4.启动已经退出的容器
docker start CONTAINER
5.重启一个运行中的容器
docker restart CONTAINER
6.暂停容器
# 暂停容器
docker pause CONTAINER
# 恢复暂停的容器
docker unpause CONTAINER
8. 删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
# OPTIONS
-f:强制删除
-v:删除与容器关联的匿名卷
example:
# 删除单个
docker rm -f CONTAINER
# 删除多个
docker rm -f CONTAINER1 CONTAINER2
# 删除全部
docker rm -f $(docker ps -aq)
9.进入运行中的容器并以前台方式运行
# 不会产生新的 bash 终端
docker attach CONTAINER
# 会产生新的 bash 终端
docker exec -it CONTAINER /bin/bash
10.docker run exec attach 区别
- docker run -it 会创建前台进程,但是会在输入exit 后终止进程。
- docker attach 会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止进程。
- docker exec -it 会连接到容器,可以像ssh一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行。
11.导入/导出容器
# 导出运行中或停止的容器
docker export -o mynginx.tar CONTAINER
# 导入容器形成一个镜像
docker import mynginx.tar my/nginx:1.0
12.查看容器
# 查看容器详情
docker inspect CONTAINER
# 查看容器内进程
docker top CONTAINER
# 查看容器资源使用统计
docker stats CONTAINER
13.其他容器命令
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
example:
# 将本地的路径 data 复制到 test 容器的 /tmp 路径下
docker cp data test:/tmp/
查看容器内文件系统的变更:
查看容器内文件系统的变更 docker diff CONTAINER
查看容器端口映射:
docker port CONTAINER

浙公网安备 33010602011771号