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
posted @ 2020-09-26 17:12    阅读(135)  评论(0)    收藏  举报