目录
Docker 常见 Linux 命令
容器管理命令
运行容器
删除容器
进入容器
退出容器
停止与启动容器
查看容器
查看容器 IP 地址
文件拷贝
镜像管理命令
查看镜像
搜索镜像
拉取镜像
删除镜像
删除所有镜像
构建镜像
通过 Dockerfile 构建
Dockerfile 常用命令
Docker 服务相关命令
开启 Docker 服务(CentOS 7 以上版本)
查看 Docker 状态
查看 Docker 概要信息
查看 Docker 帮助文档
其他命令
查看容器日志
卷轴挂载
Linux Docker 停止并删除所有容器的操作方法
理解 Docker 容器状态
停止所有正在运行的容器
列出所有正在运行的容器
停止所有运行中的容器
删除所有容器
列出所有容器(包括停止的)
删除所有容器
注意事项
使用 Docker Compose 管理容器的相关操作(可选)
停止并删除由 Compose 管理的所有容器、网络和卷
仅停止容器(保留网络和卷)
删除所有 Compose 容器、网络和卷并释放卷占用的空间
Docker 常见 Linux 命令
容器管理命令
运行容器
运行容器时,可使用如下参数对容器进行配置:
-d
:让容器在后台运行。-p
:进行端口映射,格式为主机端口:容器端口。-e
:设置环境变量,例如设置 root 密码。--name
:为容器设置别名。-v
:用于挂载目录,将容器内的目录挂载到宿主机的指定目录,如-v /usr/local/mysql/logs:/var/log/mysql
把 mysql 容器存放日志文件的目录/var/log/mysql
挂载在宿主机的/usr/local/mysql/logs
下。
示例命令:
docker run -d -p 8080:80 --name mynginx -e MYSQL_ROOT_PASSWORD=123456 nginx
删除容器
使用 docker rm
命令删除指定容器,示例:
docker rm container_id
进入容器
使用 docker exec
命令进入正在运行的容器,示例:
docker exec -it container_id /bin/bash
退出容器
在容器内输入 exit
即可退出容器。
停止与启动容器
- 停止容器:
docker stop container_id
。 - 启动容器:
docker start container_id
。
查看容器
- 查看正在运行的容器:
docker ps
。 - 查看所有容器(包括已停止的):
docker ps -a
。
查看容器 IP 地址
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id
文件拷贝
将文件复制到容器内使用 docker cp
命令,示例:
docker cp file_path container_id:container_path
将容器内的文件复制到主机:
docker cp container_id:container_path file_path
镜像管理命令
查看镜像
使用 docker images
命令查看本地已有的镜像,其中 CREATED
表示镜像的创建日期(不是获取该镜像的日期)。
搜索镜像
若需从网络中查找镜像,可使用如下命令:
docker search image_name
拉取镜像
docker pull image_name:tag
删除镜像
docker rmi image_id
删除所有镜像
docker rmi $(docker images -q)
构建镜像
通过 Dockerfile 构建
构建步骤如下:
- 编写 Dockerfile 文件。
- 使用
docker build
命令构建镜像,示例:
docker build -t image_name:tag .
- 使用
docker run
命令依镜像运行容器实例。
Dockerfile 常用命令
FROM image_name:tag
:定义使用哪个基础镜像启动构建流程。MAINTAINER user_name
:声明镜像的创建者。ENV key value
:设置环境变量(可写多条)。RUN command
:是 Dockerfile 的核心部分(可写多条)。ADD source_dir/file dest_dir/file
:将宿主机的文件复制到容器内,如果是压缩文件,将会在复制后自动解压。COPY source_dir/file dest_dir/file
:和ADD
相似,但如果有压缩文件并不能解压。WORKDIR path_dir
:设置工作目录。
Docker 服务相关命令
开启 Docker 服务(CentOS 7 以上版本)
systemctl start docker
查看 Docker 状态
systemctl status docker
查看 Docker 概要信息
docker info
查看 Docker 帮助文档
docker --help
其他命令
查看容器日志
docker logs container_id
卷轴挂载
将主机的 /usr/share/elasticsearch.yml
文件与容器内的 /usr/share/elasticsearch/config/elasticsearch.yml
文件绑定起来:
docker run -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch
Linux Docker 停止并删除所有容器的操作方法
在 Linux 系统中,若要停止并删除所有 Docker 容器,可按以下步骤进行,同时要注意这些操作可能需要管理员权限。
理解 Docker 容器状态
在执行停止和删除容器的操作之前,了解 Docker 容器的不同状态十分重要。容器主要有以下几种状态,其中停止(Exited)状态表示容器已停止运行,但仍然存在于 Docker 主机上。
停止所有正在运行的容器
列出所有正在运行的容器
可以使用以下命令列出当前所有正在运行的容器,该命令的输出会包含容器 ID、名称、状态等信息:
docker ps
停止所有运行中的容器
使用以下命令列出所有正在运行的容器的 ID,然后通过 docker stop
命令停止这些容器:
docker stop $(docker ps -q)
这里 docker ps -q
以安静模式列出所有正在运行的容器的 ID,docker stop
命令则用于停止指定 ID 的容器。
删除所有容器
列出所有容器(包括停止的)
要删除所有容器,可先列出所有容器(包括已停止的容器),使用以下命令:
docker ps -a
删除所有容器
使用以下命令删除所有容器,包括已停止的容器:
docker rm $(docker ps -a -q)
docker ps -a -q
以安静模式列出所有容器(包括已停止的)的 ID,docker rm
命令用于删除指定 ID 的容器。
注意事项
- 若只想删除停止的容器,可以先使用上述停止所有运行中容器的命令,然后直接使用
docker rm $(docker ps -a -q)
命令删除已停止的容器。 - 在使用这些命令时,请确保您具有适当的权限,必要时可在命令前加上
sudo
来获取管理员权限。
使用 Docker Compose 管理容器的相关操作(可选)
如果使用 Docker Compose 管理容器,也有相应的停止和删除操作:
停止并删除由 Compose 管理的所有容器、网络和卷
docker-compose down
该命令会停止并删除由 Compose 管理的所有容器、网络和卷。
仅停止容器(保留网络和卷)
docker-compose stop
该命令会停止服务容器,但不会删除它们或相关的网络和卷。
删除所有 Compose 容器、网络和卷并释放卷占用的空间
docker-compose down -v
-v
标志会删除与服务关联的所有卷,释放更多的存储空间。
除了删除容器外,还可以使用 Docker 的清理命令来释放其他未使用的资源,如镜像、网络和卷。例如,使用 docker image prune -a
命令可以删除所有未使用的镜像,而不仅仅是悬空(dangling)镜像。