Docker Compose 常用的命令

docker-compose up

启动整个应用程序,包括构建镜像、创建容器和运行容器等。可以使用 -d 参数让应用程序在后台运行。

docker-compose down

停止并移除整个应用程序的所有容器,包括关联的网络和存储卷等。

docker-compose build

构建应用程序的镜像,会根据配置文件中指定的 Dockerfile 和构建上下文构建镜像。

docker-compose push

将应用程序的镜像推送到 Docker Hub 或其他的 Docker 镜像仓库中。

docker-compose pull

拉取应用程序的镜像,会根据配置文件中指定的镜像名称和标签拉取镜像。

docker-compose logs

查看应用程序的日志,可以使用 -f 参数让命令一直运行,实时查看日志输出。

docker-compose ps

列出当前应用程序的所有容器,以及它们的状态信息。

docker-compose restart

重启应用程序的容器,可以指定具体的服务名称。

docker-compose stop

停止应用程序的容器,可以指定具体的服务名称。

docker-compose start

启动应用程序的容器,可以指定具体的服务名称。

docker-compose exec

在应用程序的容器中执行命令,可以指定具体的服务名称和执行的命令。

docker-compose config

验证应用程序的配置文件是否正确,可以检查语法错误和未定义的服务名称等。

docker命令

docker系统管理

docker version

显示 Docker 的版本信息,包括 Docker 版本、API 版本和操作系统版本等。

docker info

显示 Docker 的系统信息,包括容器数量、镜像数量和容器运行状态等。

docker ps

列出当前正在运行的容器,可以使用 -a 参数列出所有容器,还可以使用 -q 参数只列出容器 ID。

docker start

启动已经停止的容器,可以指定容器名称或容器 ID。

docker stop

停止正在运行的容器,可以指定容器名称或容器 ID。

docker restart

重启正在运行的容器,可以指定容器名称或容器 ID。

docker rm

删除已经停止的容器,可以指定容器名称或容器 ID。可以使用 -f 参数强制删除正在运行的容器。

docker images

列出本地已有的镜像,可以使用 -a 参数列出所有镜像,还可以使用 -q 参数只列出镜像 ID。

docker rmi

删除本地已有的镜像,可以指定镜像名称或镜像 ID。可以使用 -f 参数强制删除正在使用的镜像。

docker build

构建镜像,需要在 Dockerfile 所在的目录下执行该命令,可以使用 -t 参数指定镜像名称和标签。

docker pull

拉取远程镜像,可以指定镜像名称和标签。

docker push

推送本地镜像到远程仓库,可以指定镜像名称和标签。

docker exec

在正在运行的容器中执行命令,可以指定容器名称或容器 ID。

docker logs

查看容器的日志输出,可以指定容器名称或容器 ID,还可以使用 -f 参数实时查看日志输出。

docker network

管理 Docker 网络,包括创建网络、删除网络和列出网络等。

volumes管理
Docker 的 Volume 是一种持久化数据的机制,它允许 Docker 容器在不同主机、不同时间段之间共享数据。Volume 可以与容器进行绑定,使容器可以在不影响容器内其他文件的情况下读写这些数据。Volume 在数据安全、数据共享、数据备份等方面都有着重要的作用。

独立于容器的生命周期:Volume 可以在容器删除后继续存在,可以被其他容器使用。
可以在主机和容器之间共享数据:Volume 可以在主机和容器之间进行数据传输。
支持插件机制:Docker Volume 可以扩展为支持各种不同的存储驱动器

docker volume
管理 Docker 存储卷,包括创建存储卷、删除存储卷和列出存储卷等

docker volume create

创建一个新的 Docker volume,可以指定名称或使用默认名称,例如:

lua

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

在容器中挂载 Docker volume,例如:

docker run -it -v my-volume:/data alpine sh

在容器中挂载名为 my-volume 的 Docker volume,并将其挂载到容器中的 /data 目录中。

docker-compose
在 Docker Compose 中定义 Docker volume,例如:

.yaml

version: '3'
services:
  app:
    image: my-app
    volumes:
      - my-volume:/data
volumes:
  my-volume:

上述 Docker Compose 文件定义了一个名为 my-volume 的 Docker volume,并在 app 服务中使用该 volume。

将 Volume 与容器进行绑定可以使用以下命令:

docker run -d --name my-container -v my-volume:/data my-image

创建一个名为 my-container 的 Docker 容器,将 my-volume Volume 与容器中的 /data 目录进行绑定。

images管理

Docker 镜像是 Docker 容器的基础,Docker 提供了一系列命令来管理这些镜像,包括:

docker image build

构建 Docker 镜像,可以从本地的 Dockerfile 或远程 Git 存储库中构建。

docker image build -t my-image .

在当前目录中的 Dockerfile 中构建一个名为 my-image 的 Docker 镜像。

docker image history

查看 Docker 镜像的历史记录,包括每个镜像层的详细信息。

docker image history my-image

列出名为 my-image 的 Docker 镜像的历史记录。

docker image inspect

查看 Docker 镜像的详细信息,包括名称、标签、大小、创建时间、元数据等。

docker image inspect my-image

显示名为 my-image 的 Docker 镜像的详细信息。

docker image ls

列出本地 Docker 镜像,包括名称、标签、大小等信息。

docker image ls

列出本地所有的 Docker 镜像。

docker image pull

从远程 Docker Registry 中拉取镜像到本地。

docker image pull nginx

从 Docker Hub 中拉取最新版本的 Nginx 镜像到本地。

docker image push

将本地 Docker 镜像推送到远程 Docker Registry 中。

docker image push my-image

将名为 my-image 的 Docker 镜像推送到远程 Docker Registry 中。

docker image remove

删除本地 Docker 镜像,可以指定镜像名称、镜像 ID 或者使用 docker image prune 命令删除所有未使用的镜像。

 docker image remove my-image

删除名为 my-image 的 Docker 镜像。

docker image save

将本地 Docker 镜像保存成 tar 文件。

docker image save my-image -o my-image.tar

将名为 my-image 的 Docker 镜像保存成 my-image.tar 文件。

docker image load

从 tar 文件中加载 Docker 镜像到本地。

docker image load -i my-image.tar

将 my-image.tar 文件中的 Docker 镜像加载到本地。

容器管理

Docker 容器是 Docker 系统的核心组件之一,Docker 提供了一系列命令来管理这些容器,包括:

docker container create

创建一个新的 Docker 容器,但不会启动该容器。

docker container create --name my-container my-image

创建一个名为 my-container 的 Docker 容器,基于 my-image 镜像,但不会启动该容器。

docker container start

启动一个已经创建的 Docker 容器。

docker container start my-container

启动名为 my-container 的 Docker 容器。

docker container stop

停止一个正在运行的 Docker 容器。

docker container stop my-container

停止名为 my-container 的 Docker 容器。

docker container restart

重启一个正在运行的 Docker 容器。

docker container restart my-container

重启名为 my-container 的 Docker 容器。

docker container rm

删除一个已经停止的 Docker 容器。

 docker container rm my-container

删除名为 my-container 的 Docker 容器。

docker container ls

列出正在运行的 Docker 容器。

docker container ls

列出所有正在运行的 Docker 容器。

docker container ls -a

列出所有的 Docker 容器,包括已经停止的容器。

 docker container ls -a

列出所有的 Docker 容器

docker container inspect

查看 Docker 容器的详细信息,包括名称、状态、网络配置、环境变量、命令等。

docker container inspect my-container

显示名为 my-container 的 Docker 容器的详细信息。

docker container logs

查看 Docker 容器的日志输出。

 docker container logs my-container

显示名为 my-container 的 Docker 容器的日志输出。

docker container exec

在运行的 Docker 容器中执行命令

 docker container exec my-container ls

在名为 my-container 的 Docker 容器中执行 ls 命令。

docker container cp

将文件复制到运行的 Docker 容器中或从容器中复制文件到本地主机

docker container cp file.txt my-container:/path/to/file.txt

将本地主机中的 file.txt 文件复制到名为 my-container 的 Docker 容器中的 /path/to 目录下。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐