I';我一直在尝试用dockerfile和docker compose在apache映像上创建文件夹

I';我一直在尝试用dockerfile和docker compose在apache映像上创建文件夹,docker,docker-compose,dockerfile,mkdir,Docker,Docker Compose,Dockerfile,Mkdir,我是一个码头工人新手,正在为一个基本情况而挣扎。我尝试了各种方案,但似乎无法在docker容器上创建文件夹。我正在尝试创建一个新文件夹“alternative html”,它位于容器上,主文件夹/var/www/html,我已经映射到一个本地文件夹并工作 apache的dockerfile包含: FROM httpd:2.4.33-alpine WORKDIR /var/www/alternate-html RUN touch index.html \ && mkdir

我是一个码头工人新手,正在为一个基本情况而挣扎。我尝试了各种方案,但似乎无法在docker容器上创建文件夹。我正在尝试创建一个新文件夹“alternative html”,它位于容器上,主文件夹/var/www/html,我已经映射到一个本地文件夹并工作

apache的dockerfile包含:

FROM httpd:2.4.33-alpine
WORKDIR /var/www/alternate-html
RUN touch index.html \
    && mkdir images
WORK DIR /var/www/html/
version: "3.2"
services:
  php:
    build: './php/'
    networks:
      - backend
    volumes:
      - ./code/:/var/www/html/          
  apache:
    build: './apache/'
    depends_on:
      - php
    networks:
      - frontend
      - backend
    ports:
      - "8080:80"
    volumes:
      - ./code/:/var/www/html/
networks:
    frontend:
    backend:
和我的docker组成文件:

FROM httpd:2.4.33-alpine
WORKDIR /var/www/alternate-html
RUN touch index.html \
    && mkdir images
WORK DIR /var/www/html/
version: "3.2"
services:
  php:
    build: './php/'
    networks:
      - backend
    volumes:
      - ./code/:/var/www/html/          
  apache:
    build: './apache/'
    depends_on:
      - php
    networks:
      - frontend
      - backend
    ports:
      - "8080:80"
    volumes:
      - ./code/:/var/www/html/
networks:
    frontend:
    backend:

问题:使此目录“/var/www/alternate html”出现,我做错了什么。

您可以在本地计算机上创建一个新文件夹,然后将其映射到docker容器中,如下所示:

version: "3.2"
services:
  php:
    build: './php/'
    networks:
      - backend
    volumes:
      - ./code/:/var/www/html/          
  apache:
    build: './apache/'
    depends_on:
      - php
    networks:
      - frontend
      - backend
    ports:
      - "8080:80"
    volumes:
      - ./code/:/var/www/html/
      - ./alternate-html/ : /var/www/alternate-html/
    working_dir: /var/www/
networks:
    frontend:
    backend:

在这里,工作目录改为/var/www/您可以在其中找到html和备用html目录。

因此-我终于解决了我的问题,愚蠢的错误

文件夹是在apache容器中创建的,我用php脚本检查它,当然php容器中没有可用的文件夹

通过使用以下内容更新php dockerfile进行修复:

RUN mkdir -p /var/www/alternate-html
现在,apache和php中都有文件夹,而且都可以正常工作