我被困在尝试使用dockerfile和docker compose在apache映像上创建文件夹

时间:2019-09-13 19:28:45

标签: docker docker-compose dockerfile mkdir

我是docker新手,正在努力应对基本情况。我尝试了各种情况,但似乎无法在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/

我的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/
networks:
    frontend:
    backend:

问题:要使该目录显示为“ / var / www / alternate-html”,我在做什么错了。

2 个答案:

答案 0 :(得分:0)

您可以在本地计算机上创建一个新文件夹,然后将其映射到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和Alternative-html目录。

答案 1 :(得分:0)

所以-我终于解决了我的问题,愚蠢的错误。

该文件夹是在apache容器中创建的,我正在使用php脚本对其进行检查,当然该文件夹在php容器中没有可用的文件夹。...

通过同时使用以下命令更新php dockerfile来解决:

RUN mkdir -p /var/www/alternate-html

现在apache和php中都存在文件夹,并且一切正常。