Docker Compose 配置文件中的映射关系用于将容器内部的路径映射到主机上的路径。这样,容器内的数据就可以被持久化,并且在容器重启后仍然存在。
常见的映射关系包括:
- volumes:将容器内部路径映射到主机上的路径,例如:
volumes:
- /var/log/nginx:/var/log/nginx
这会将 nginx 容器内部的 /var/log/nginx 目录映射到主机上的 /var/log/nginx 目录。
- ports:将容器内部端口映射到主机上的端口,例如:
ports:
- "8080:80"
这会将容器内部的 80 端口映射到主机上的 8080 端口。
- environment:将环境变量传递给容器,例如:
environment:
MYSQL_ROOT_PASSWORD: example
这会将 MYSQL_ROOT_PASSWORD 环境变量传递给 MySQL 容器,以设置 root 用户的密码。
- networks:定义容器所连接的网络,例如:
networks:
backend:
driver: bridge
这会创建一个名为 backend 的网络,并将容器连接到该网络上。
除了以上常见的映射关系外,还有其他的一些映射关系,例如:
- tmpfs:将容器内部的目录挂载为 tmpfs 文件系统,以提高性能和安全性;
- devices:将主机上的设备映射到容器内部;
- dns:定义容器所使用的 DNS 服务器等。
总之,Docker Compose 配置文件中的映射关系非常灵活,可以根据实际需求进行定制。




