微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将容器中的供应商文件夹与主机文件夹同步

如何解决将容器中的供应商文件夹与主机文件夹同步

所以我想做的是。

  1. 构建 docker 镜像
  2. 在 Dockerfile 中运行 composer install
  3. 在我的主机上也有安装依赖项的供应商文件

我从现在开始完成的是我设法在我的容器上安装依赖项并且一切正常。虽然我主机上的供应商文件夹是空的。所以我的 IDE (PHPstorm) 无法识别已安装包中的类(显然),这是我需要解决的问题。

我尝试了什么:

  1. 创建一个卷:这似乎复制了空的供应商文件夹并覆盖了容器上的供应商文件
  2. 在启动容器后运行 composer install(这需要很长时间,而且它总是再次安装所有软件包......不可接受)

我的 docker-compose.yml:

services:
  web:
    build:
      context: .
      dockerfile: ./config/web/Dockerfile
    image: web
    container_name: WebServer
    ports:
      - "8081:80"
    volumes:
      - ./src:/var/www/notification
      - /var/www/notification/vendor
    networks:
      - network

和我的 Dockerfile:

FROM PHP:7.4-apache

# Install GIT
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y git && \
    apt-get install -y nano && \
    apt-get install -y libzip-dev && \
    apt-get install -y zip unzip

# Install ext for PHP
RUN docker-PHP-ext-install pdo pdo_MysqL zip


# Install Composer
RUN curl -sS https://getcomposer.org/installer | PHP -- --install-dir=/usr/local/bin --filename=composer

# Enable apache2 mod_rewrite module
RUN a2enmod rewrite

workdir /var/www/smthing

copY ./src/composer.json ./src/composer.lock ./

RUN composer install

有没有办法以某种方式自动同步它,而不需要永远?

提前谢谢大家:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。