Docker-compose 详解
docker-compose
是一个用于定义和运行多容器 Docker 应用程序的工具。它使用一个 docker-compose.yml
文件来配置应用程序的服务、网络和数据卷,并通过简单的命令来管理这些服务。以下是 docker-compose
的一些核心概念和常用命令:
docker-compose.yml
文件
docker-compose.yml
是一个 YAML 格式的配置文件,用于定义应用程序的服务、网络和数据卷。下面是一个示例:
```
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
```
-
version
: 指定 Compose 文件的版本。 -
services
: 定义一个或多个服务,每个服务都运行一个容器。-
web
和db
: 服务名称。 -
image
: 使用的 Docker 镜像。 -
ports
: 端口映射。 -
environment
: 环境变量。 -
volumes
: 数据卷挂载。
-
-
volumes
: 定义的数据卷,用于持久化存储。
常用命令
-
启动服务
docker-compose up
-
使用
-d
选项以后台模式运行docker-compose up -d
-
-
停止服务
docker-compose down
-
使用
-v
选项删除挂载的卷docker-compose down -v
-
-
查看服务日志
docker-compose logs
-
查看特定服务的日志
docker-compose logs <service-name>
-
-
重新构建服务
docker-compose build
-
列出服务
docker-compose ps
-
查看服务配置
docker-compose config
-
执行容器内的命令
docker-compose exec <service-name> <command>
-
例如进入
web
服务的容器docker-compose exec web /bin/bash
-
-
创建服务的容器但不启动
docker-compose up --no-start
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!