基本概念:
docker-compose 与 docker 的主要区别在于,它用于管理多个容器的启停,相当于将多个 docker 命令和容器配置打包在一起,简化了多容器应用的部署和管理。
docker-compose命令详析
1. 首次部署启动
假设 docker-compose.yml
文件已经准备好,并且它位于项目的根目录。首次部署启动的步骤如下:
-
进入到包含
docker-compose.yml
文件的目录: 打开终端,并导航到docker-compose.yml
文件所在的目录。例如:cd /path/to/your/project
-
使用
docker-compose up
启动服务: 运行以下命令来启动所有在docker-compose.yml
文件中定义的服务:docker-compose up
-
该命令会下载必要的 Docker 镜像(如果本地没有),并启动相应的容器。
-
如果希望容器在后台运行,可以使用
docker-compose up -d
注意: 第一次运行时,
docker-compose
会根据docker-compose.yml
中的配置,自动创建并启动所有的服务。 -
-
检查服务是否启动成功: 运行以下命令查看容器状态:
docker-compose ps
该命令会列出当前运行的容器及其状态。
2. 关闭服务
要停止正在运行的容器,可以使用以下命令:
-
停止服务: 运行以下命令停止通过
docker-compose
启动的所有容器:docker-compose down
或者,使用以下命令停止服务但保持网络和卷不删除(适合以后继续使用):
docker-compose stop
docker-compose down
会停止所有容器并删除它们,同时删除网络和默认的卷。如果只想停止容器但保留它们,可以使用docker-compose stop
。 -
检查容器是否已经停止: 运行以下命令检查容器状态:
docker-compose ps
3. 重新启动服务
要重新启动服务,可以使用以下命令:
-
重新启动服务:
使用
docker-compose up
重新启动所有服务。如果服务已经停止,可以先使用
docker-compose start
启动:
docker-compose start
如果服务已经关闭并且需要重新部署,使用:
docker-compose up -d
如果你对
docker-compose.yml
文件做了修改,重新部署时,它会自动更新容器配置。
其他常用命令:
-
查看日志:
使用以下命令查看正在运行的容器日志:docker-compose logs
如果需要查看特定服务的日志,可以指定服务名:
docker-compose logs <service-name>
-
查看服务的状态:
使用以下命令检查服务是否在运行:docker-compose ps
总结:
docker-compose up
启动服务(首次部署或重新启动)。docker-compose down
停止并删除服务。docker-compose stop
停止服务,但不删除容器。docker-compose start
重新启动已停止的服务。