docker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 docker-compose.yml 文件,你可以配置应用程序的服务、网络和卷。以下是 docker-compose 的一些基本操作及其详细解释:
up
用途:构建、(重新)创建、启动并附加到服务容器。
使用场景:当你需要启动整个项目或特定服务时使用。它会根据 docker-compose.yml 文件中的定义来启动所有服务。
docker-compose up
选项:
-d 在后台启动并运行服务。
--build 在启动之前构建服务。
down
用途:停止并移除容器、网络、镜像以及卷(如果指定的话)。
使用场景:当你想要彻底关闭你的应用环境,并清理所有相关资源时使用。
docker-compose down
选项:
--volumes 也移除与项目相关的数据卷。
--remove-orphans 移除不在 docker-compose.yml 文件中定义的所有孤儿容器。
start
用途:启动已存在的容器(这些容器必须是之前已经通过 up 或 create 创建过的)。
使用场景:当你只是想重启已有的容器而不重建它们时使用。
docker-compose start
stop
用途:停止正在运行的容器而不移除它们。可以通过 start 命令再次启动它们。
使用场景:当你暂时不需要使用服务但希望保留其状态以便稍后快速恢复时使用。
docker-compose stop
restart
用途:重启服务容器。
使用场景:当你对服务进行了修改(如更新了代码或改变了环境变量),需要重新加载这些更改时使用。
docker-compose restart
ps
用途:列出由 docker-compose.yml 定义并且当前正在运行的容器。
使用场景:查看哪些服务正在运行,以及它们的状态。
docker-compose ps
logs
用途:查看服务的日志输出。
使用场景:当需要调试服务或查看服务输出时使用。
docker-compose logs
选项:
-f 跟踪日志输出,类似于 tail -f。
exec
用途:在一个运行中的容器内执行命令。
使用场景:当你需要在容器内部执行命令(例如,进行调试或管理任务)时使用。
docker-compose exec web bash
build
用途:构建或重新构建服务。
使用场景:当你修改了 Dockerfile 或者构建上下文中的文件后需要重新构建镜像时使用。
docker-compose build
pull
用途:拉取服务镜像。
使用场景:当你想要确保所有服务都使用最新版本的镜像时使用。
docker-compose pull
rm
用途:移除停止的服务容器。
使用场景:清理不再使用的容器,释放系统资源。
docker-compose rm
config
用途:验证并查看 docker-compose.yml 文件的有效配置。
使用场景:检查配置文件是否有语法错误或逻辑错误。
docker-compose config
config
用途:验证并查看 docker-compose.yml 文件的有效配置。
使用场景:检查配置文件是否有语法错误或逻辑错误。
docker-compose config
port
用途:打印特定服务的公共端口。
使用场景:当你需要知道某个服务在主机上的映射端口时使用。
docker-compose port web 80
pause / unpause
用途:暂停/恢复服务容器的所有进程。
使用场景:临时暂停服务而不完全停止它们。
docker-compose pause web
docker-compose unpause web
scale
用途:设置服务运行的实例数量(即扩展服务)。
使用场景:根据需求调整服务实例的数量以满足负载要求。
docker-compose scale web=3 worker=2
events
用途:实时流式传输服务容器的相关事件。
使用场景:监控服务的状态变化、重启等事件。
docker-compose events
kill
用途:通过发送 SIGKILL 信号强制停止服务容器。
使用场景:当正常停止命令无法响应时,可以使用此命令强行关闭服务
docker-compose kill
top
用途:显示每个容器正在运行的进程。
使用场景:查看容器内部的进程状态。
docker-compose top
这些命令可以帮助你有效地管理和操作多个相互关联的Docker容器。每个命令都有其特定的用途,理解它们的区别对于高效地使用 Docker 和 Docker Compose 至关重要。
发表回复