【问题标题】:Docker-compose up missing filesDocker-组合丢失的文件
【发布时间】:2019-10-11 20:54:56
【问题描述】:

我的问题很简单,当 docker-compose build : 一些新文件夹将使用 npm run prod 命令生成时,我在我的 Dockerfile 中添加了“ls -lhtr the_missingFolder”,我可以看到它就在那里。

完成构建后,我运行了 docker-compose up >> Boomm 文件夹不在容器中,为什么?

请问我该如何解决。

FROM ubuntu:16.04

RUN apt-get update && apt install -y  build-essential

RUN apt-get update -y && apt-get install -y openssl zip unzip git libpng-dev zlib1g-dev libicu-dev libtool g++

RUN apt-get update && apt-get install -y --no-install-recommends apt-utils

RUN apt install -y composer

RUN apt-get install -y curl wget

RUN apt-get install -y  autoconf automake pkg-config libgtk-3-dev nasm

RUN apt-get clean && apt-get update && apt-get install -y locales
RUN locale-gen en_US en_US.UTF-8

RUN apt-get install -y python-software-properties

RUN apt-get install -y software-properties-common

RUN LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php

RUN apt-get update

RUN apt install -y php7.1-fpm php7.1-mbstring php7.1-xmlrpc php7.1-soap 
php7.1-gd php7.1-xml php7.1-cli php7.1-zip php7.1-pgsql php7.1-curl

RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -

RUN apt-get install -y nodejs

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY . ./

COPY package*.json ./

RUN cp .env.docker .env

RUN npm install

RUN npm run prod

COPY . /usr/src/app/

WORKDIR /usr/src/app

RUN composer update

RUN composer install --no-interaction --prefer-dist --optimize-autoloader

RUN php artisan config:clear

RUN php artisan optimize

CMD bash -c "php artisan db:seed --class=App\\module\\role\\database\\seed\\role"

CMD bash -c "php artisan db:seed --class=App\\module\\notification\\database\\seed\\notification"

CMD bash -c "php artisan notifications:generate-files"

CMD bash -c "php artisan migrate"

CMD bash -c "composer install && php artisan serve --host=0.0.0.0 --port=8000"

EXPOSE 8000

最好的问候

【问题讨论】:

  • 确保你的镜像不是多阶段构建的
  • 如前所述,通常由多阶段构建引起,或者您通过其他调用隐式删除它们(例如,像 npm clean 脚本之类的东西)。根据文件夹的类型,通常会删除诸如构建工具之类的东西,这些东西在运行时不需要以保持图像大小较小。请通过添加完整的 Dockerfile 来澄清您的问题,以便我们可以看到构建期间发生的情况。
  • 感谢您的快速回复,我已在问题中添加了上面的 Docekrfile。
  • 当我使用“docker run”来运行我的应用程序容器时,一个注释可能会有所帮助:我可以在那里看到丢失的文件..但是使用 docker-compose up 我看不到它们。
  • Docker 版本 17.05.0-ce,构建 89658be // docker-compose 版本 1.16.1,构建 6d1ac21

标签: laravel docker docker-compose


【解决方案1】:

我以前遇到过这个问题。就我而言,我有一个命名卷,每次运行 docker-compose up 时都会重复使用。

我刚刚使用docker-compose down 中的-v 选项销毁了卷和容器,下次我运行docker-compose up 时一切都在那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    相关资源
    最近更新 更多