docker-compose.yml 文件

编写 `docker-compose.yml` 文件是为了定义和管理 Docker 容器的配置,其中包括容器的构建、服务之间的连接、端口映射等。下面是一个示例 `docker-compose.yml` 文件,假设我们要部署一个简单的 Node.js 网站:

```yaml

version: '3'

services:

web:

build: .

ports:

  • "80:3000"

volumes:

  • .:/app

environment:

NODE_ENV: production

```

现在让我解释每个部分的含义:

  • `version: '3'`:指定 Docker Compose 文件的版本。

  • `services:`:定义一个或多个服务。在这个示例中,我们只有一个服务,名为 `web`。

  • `web:`:指定了服务的名称。

  • `build: .`:指定了 Dockerfile 的构建路径。`.` 表示当前目录,这意味着 Docker 将在当前目录中查找 `Dockerfile` 文件并构建容器。

  • `ports:`:定义了端口映射。在这个示例中,容器的端口 `3000` 映射到主机的端口 `80`。

  • `volumes:`:定义了卷挂载。这使得当前目录中的文件可以在容器内部被访问,并且在代码更改时容器可以立即重新加载。

  • `environment:`:定义了环境变量。在这个示例中,我们设置了 `NODE_ENV` 变量为 `production`,这会影响 Node.js 应用程序的行为。

编写 `docker-compose.yml` 文件时,确保指定正确的服务名称、构建路径、端口映射、卷挂载和环境变量,以及使用正确的语法和缩进。这样,Docker Compose 就能正确地创建和管理你的容器。

相关推荐
Java开发追求者6 小时前
windows快速安装docker
windows·docker·安装·1024程序员节
骑着蜗牛撵大象3278 小时前
飞牛fnOS部署Damselfly:Compose编排、照片目录与7100固定访问
java·docker·rpc·dubbo·fnos·照片管理·damselfly
一掬净土8 小时前
kubelet 报错如下:docker does not support reopening container log files
docker·云原生·kubelet·logfiles
TTATTC10 小时前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
docker·开源
骑着蜗牛撵大象32712 小时前
N1 小盒子撑起 AI 接口中转层:New-API 接管本地 Ollama,用 Token 分发模型能力
docker·llama·1024程序员节·api网关·飞牛nas·new-api
艸肅12 小时前
Docker 国内镜像源配置
linux·ubuntu·docker·1024程序员节
java_logo13 小时前
Docker 部署 Bililive-go:轻松搭建多平台直播录制
docker·1024程序员节·直播录制·轩辕镜像·bililive-go·chigusa/bililive-go
A-刘晨阳13 小时前
【云原生】nerdctl 部署及使用指南
运维·docker·kubernetes·云计算·1024程序员节·nerdctl
bigbig_ben19 小时前
yearning安装docker
运维·docker·容器
吴声子夜歌1 天前
Docker入门与实战——热门镜像介绍
运维·docker·容器