docker-compose
是一个用于定义和运行多容器 Docker 应用程序的工具。它使用 YAML 文件来配置应用程序的服务,网络和卷,使得能够一起启动和停止多个容器,就像它们是单一的服务一样。
基本用法
启动 docker-compose
配置的应用程序,你通常会在项目根目录下找到一个名为 docker-compose.yml
的文件。在这个文件中,你定义了你的服务、网络和其他资源。一旦有了这个文件,你可以使用以下命令来启动你的应用程序:
docker-compose up
这将构建(如果需要的话)并启动你的服务。默认情况下,docker-compose up
命令将会在前台运行服务,并显示来自容器的日志输出。
常用选项
-d
或--detach
:以守护进程模式运行容器,这意味着容器将在后台运行,不会阻塞终端。
docker-compose up -d
--build
:在启动前构建服务的镜像。如果在docker-compose.yml
中定义了build
字段,那么 Docker 将会构建相应的 Dockerfile 来创建镜像。
Bash
1docker-compose up --build
--force-recreate
:总是重新创建服务,即使容器已经存在。这在你想要强制重新启动所有服务时非常有用。
Bash
1docker-compose up --force-recreate
其他常用命令
docker-compose down
:停止并删除容器、网络、卷和镜像。
Bash
1docker-compose down
docker-compose stop
:停止正在运行的容器,但不删除它们,允许以后重新启动。
Bash
1docker-compose stop
docker-compose logs
:查看服务的日志输出。
Bash
1docker-compose logs -f service_name
docker-compose ps
:列出容器的状态。
Bash
1docker-compose ps
示例
假设你有一个 docker-compose.yml
文件,其中定义了 web 和 db 两个服务,你可以这样启动它们:
Bash
1docker-compose up -d
这将构建(如果需要的话)并以守护进程模式启动 web 和 db 服务。如果一切顺利,你的应用程序现在应该在 Docker 容器中运行了。