docker compose 我想使用本地目录 C:/html 作为 /var/www/html

问题描述 投票:0回答:1

您好,我想使用 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 apache docker-compose
1个回答
1
投票

我建议避免硬编码目录并使用相对目录。

如果将 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 命令应该保持不变。

© www.soinside.com 2019 - 2024. All rights reserved.