您好,我想使用 docker-compose.yml 发布本地文件夹“C:\html\index.php”中的“index.php”
在本地主机中,我得到典型的 apache html“它有效”。但我没有获取本地文件夹的内容。我做错了什么?
这是我的 docker-compose 文件:
version: "3"
services:
# --- MySQL 5.7
#
mysql:
container_name: "dstack-mysql"
image: bitnami/mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER=admin
- MYSQL_PASSWORD=root
ports:
- '3306:3306'
php:
container_name: "dstack-php"
image: bitnami/php-fpm:8.1
# --- Apache 2.4
#
apache:
container_name: "dstack-apache"
image: bitnami/apache:2.4
ports:
- '80:8080'
- '443:8443'
depends_on:
- php
volumes:
- C:/html:/var/www/html
phpmyadmin:
container_name: "dstack-phpmyadmin"
image: bitnami/phpmyadmin:latest
depends_on:
- mysql
ports:
- '81:8080'
- '8143:8443'
environment:
- DATABASE_HOST=host.docker.internal
volumes:
dstack-mysql:
driver: local
更新:
体积: - ./html:/var/www/html
不起作用。
我想要一个 Web 开发 Docker 环境,在我的计算机中的文件夹 C:\html\index_hello.html 中进行编辑,我将在浏览器 localhost:8080 中看到我所做的更改。我的期望是在浏览器中写入http://localhost:8080/index_hello.html。我有什么错吗?我应该编辑其他文件吗? apache.conf?
我建议避免硬编码目录并使用相对目录。
如果将 docker-compose 放入 C:/html 文件夹中,然后将音量更改为读取:
volumes:
- .:/var/www/html
如果您运行以下命令:
cd C:/html
docker-compose up -d
您正在告诉 docker-compose 使用
.
表示当前目录。
如果您将
docker-compose.yml
放在 C:/ 目录中,您可以运行将音量更改为:
volumes:
- ./html:/var/www/html
那么 docker compose 命令应该保持不变。