本文最后更新于2024年09月27日,已超过112天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
Docker Compose 常用的命令
(启动整个应用程序,包括构建镜像、创建容器和运行容器等。可以使用 -d 参数让应用程序在后台运行。)
docker-compose up
(停止并移除整个应用程序的所有容器,包括关联的网络和存储卷等。)
docker-compose down
(构建应用程序的镜像,会根据配置文件中指定的 Dockerfile 和构建上下文构建镜像。)
docker-compose build
(将应用程序的镜像推送到 Docker Hub 或其他的 Docker 镜像仓库中。)
docker-compose push
(拉取应用程序的镜像,会根据配置文件中指定的镜像名称和标签拉取镜像。)
docker-compose pull
(查看应用程序的日志,可以使用 -f 参数让命令一直运行,实时查看日志输出。)
docker-compose logs
(列出当前应用程序的所有容器,以及它们的状态信息。)
docker-compose ps
(重启应用程序的容器,可以指定具体的服务名称。)
docker-compose restart
(停止应用程序的容器,可以指定具体的服务名称。)
docker-compose stop
(启动应用程序的容器,可以指定具体的服务名称。)
docker-compose start
(在应用程序的容器中执行命令,可以指定具体的服务名称和执行的命令。)
docker-compose exec
(验证应用程序的配置文件是否正确,可以检查语法错误和未定义的服务名称等。)
docker-compose config
docker命令
docker系统管理
(显示 Docker 的版本信息,包括 Docker 版本、API 版本和操作系统版本等。)
docker version
(显示 Docker 的系统信息,包括容器数量、镜像数量和容器运行状态等。)
docker info
(列出当前正在运行的容器,可以使用 -a 参数列出所有容器,还可以使用 -q 参数只列出容器 ID。)
docker ps
(启动已经停止的容器,可以指定容器名称或容器 ID。)
docker start
(停止正在运行的容器,可以指定容器名称或容器 ID。)
docker stop
(重启正在运行的容器,可以指定容器名称或容器 ID。)
docker restart
(删除已经停止的容器,可以指定容器名称或容器 ID。可以使用 -f 参数强制删除正在运行的容器。)
docker rm
(列出本地已有的镜像,可以使用 -a 参数列出所有镜像,还可以使用 -q 参数只列出镜像 ID。)
docker images
(删除本地已有的镜像,可以指定镜像名称或镜像 ID。可以使用 -f 参数强制删除正在使用的镜像。)
docker rmi
(构建镜像,需要在 Dockerfile 所在的目录下执行该命令,可以使用 -t 参数指定镜像名称和标签。)
docker build
(拉取远程镜像,可以指定镜像名称和标签。)
docker pull
(推送本地镜像到远程仓库,可以指定镜像名称和标签。)
docker push
(在正在运行的容器中执行命令,可以指定容器名称或容器 ID。)
docker exec
(查看容器的日志输出,可以指定容器名称或容器 ID,还可以使用 -f 参数实时查看日志输出。)
docker logs
(管理 Docker 网络,包括创建网络、删除网络和列出网络等。)
docker network
volumes管理
Docker 的 Volume 是一种持久化数据的机制,它允许 Docker 容器在不同主机、不同时间段之间共享数据。Volume 可以与容器进行绑定,使容器可以在不影响容器内其他文件的情况下读写这些数据。Volume 在数据安全、数据共享、数据备份等方面都有着重要的作用。
- 独立于容器的生命周期:Volume 可以在容器删除后继续存在,可以被其他容器使用。
- 可以在主机和容器之间共享数据:Volume 可以在主机和容器之间进行数据传输。
- 支持插件机制:Docker Volume 可以扩展为支持各种不同的存储驱动器
docker volume管理 Docker 存储卷,包括创建存储卷、删除存储卷和列出存储卷等
docker volume create
(创建一个新的 Docker volume,可以指定名称或使用默认名称,例如:)
docker volume create my-volume
docker volume inspect
检查 Docker volume 的详细信息,包括名称、驱动程序、挂载点和标签等,例如:
docker volume inspect my-volume
docker volume ls
列出所有可用的 Docker volume,例如:
docker volume ls
docker volume prune
删除未使用的 Docker volume,例如:
docker volume prune
docker volume rm
删除指定的 Docker volume,例如:
docker volume rm my-volume
(在容器中挂载名为 my-volume 的 Docker volume,并将其挂载到容器中的 /data 目录中。)
docker run -it -v my-volume:/data alpine sh
在 Docker Compose 中定义 Docker volume,例如:docker-compose.yaml 文件定义了一个名为 my-volume 的 Docker volume,并在 app 服务中使用该 volume。
version: '3'
services:
app:
image: my-app
volumes:
- my-volume:/data
volumes:
my-volume:
将 Volume 与容器进行绑定可以使用以下命令:创建一个名为 my-container 的 Docker 容器,将 my-volume Volume 与容器中的 /data 目录进行绑定。)
docker run -d --name my-container -v my-volume:/data my-image
images管理
Docker 镜像是 Docker 容器的基础,Docker 提供了一系列命令来管理这些镜像,包括:(构建 Docker 镜像,可以从本地的 Dockerfile 或远程 Git 存储库中构建。)
docker image build
(在当前目录中的 Dockerfile 中构建一个名为 my-image 的 Docker 镜像。)
docker image build -t my-image .
(查看 Docker 镜像的历史记录,包括每个镜像层的详细信息。)
docker image history
(列出名为 my-image 的 Docker 镜像的历史记录。)
docker image history my-image
(查看 Docker 镜像的详细信息,包括名称、标签、大小、创建时间、元数据等。)
docker image inspect
(显示名为 my-image 的 Docker 镜像的详细信息。)
docker image inspect my-image
(列出本地 Docker 镜像,包括名称、标签、大小等信息。)
docker image ls
(从远程 Docker Registry 中拉取镜像到本地。)
docker image pull
(从 Docker Hub 中拉取最新版本的 Nginx 镜像到本地。)
docker image pull nginx
(将本地 Docker 镜像推送到远程 Docker Registry 中。)
docker image push
(将名为 my-image 的 Docker 镜像推送到远程 Docker Registry 中。)
docker image push my-image
(删除本地 Docker 镜像,可以指定镜像名称、镜像 ID 或者使用 docker image prune 命令删除所有未使用的镜像。)
docker image remove
(删除名为 my-image 的 Docker 镜像。)
docker image remove my-image
(将本地 Docker 镜像保存成 tar 文件。)
docker image save
(将名为 my-image 的 Docker 镜像保存成 my-image.tar 文件。)
docker image save my-image -o my-image.tar
(从 tar 文件中加载 Docker 镜像到本地。)
docker image load
(将 my-image.tar 文件中的 Docker 镜像加载到本地。)
docker image load -i my-image.tar
容器管理
Docker 容器是 Docker 系统的核心组件之一,Docker 提供了一系列命令来管理这些容器,包括:(创建一个新的 Docker 容器,但不会启动该容器。)
docker container create
(创建一个名为 my-container 的 Docker 容器,基于 my-image 镜像,但不会启动该容器。)
docker container create --name my-container my-image
(启动一个已经创建的 Docker 容器。)
docker container start
(启动名为 my-container 的 Docker 容器。)
docker container start my-container
(停止一个正在运行的 Docker 容器。)
docker container stop
(停止名为 my-container 的 Docker 容器。)
docker container stop my-container
(重启一个正在运行的 Docker 容器。)
docker container restart
(重启名为 my-container 的 Docker 容器。)
docker container restart my-container
(删除一个已经停止的 Docker 容器。)
docker container rm
(删除名为 my-container 的 Docker 容器。)
docker container rm my-container
(列出正在运行的 Docker 容器。)
docker container ls
(列出所有正在运行的 Docker 容器。)
docker container ls
(列出所有的 Docker 容器,包括已经停止的容器。)
docker container ls -a
(列出所有的 Docker 容器)
docker container ls -a
查看 Docker 容器的详细信息,包括名称、状态、网络配置、环境变量、命令等。
docker container inspect
(显示名为 my-container 的 Docker 容器的详细信息。)
docker container inspect my-container
(查看 Docker 容器的日志输出。)
docker container logs
(显示名为 my-container 的 Docker 容器的日志输出。)
docker container logs my-container
(在运行的 Docker 容器中执行命令)
docker container exec
(在名为 my-container 的 Docker 容器中执行 ls 命令。)
docker container exec my-container ls
(将文件复制到运行的 Docker 容器中或从容器中复制文件到本地主机)
docker container cp
(将本地主机中的 file.txt 文件复制到名为 my-container 的 Docker 容器中的 /path/to 目录下。)
docker container cp file.txt my-container:/path/to/file.txt