gpt4 book ai didi

docker - Docker:需要在symfony项目中保留文件夹

转载 作者:行者123 更新时间:2023-12-02 19:50:01 28 4
gpt4 key购买 nike

我正在尝试对我的Symfony项目进行docker化。

在这个项目中,我在以下目录下有一个文件夹:public / fichiersflux /

“fichiersflux”是一个包含持久数据的文件夹(img,pdf ...)

这是docker-compose.yml:

version:  '3.7'
services:
mariadb:
image: mariadb:10.4
restart: always
environment:
MYSQL_ROOT_PASSWORD: zfezZEFfz4e1589fze
MYSQL_DATABASE: 1c1t
MYSQL_USER: 1c1t
MYSQL_PASSWORD: fez45FZE1fez0fzefF!
ports:
- 3306:3306
php:
image: php:7.4
build:
context: .
dockerfile: docker/php/Dockerfile
restart: on-failure
user: 1000:1000
nginx:
image: nginx:1.17-alpine
restart: on-failure
volumes:
- './app/public/:/usr/src/app'
- './docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro'
ports:
- 8080:80
depends_on:
- php

还有我的Dockerfile:
# ./docker/php/Dockerfile
FROM php:7.4-fpm

RUN docker-php-ext-install pdo_mysql

RUN pecl install apcu

RUN apt-get update && \
apt-get install -y \
zlib1g-dev

RUN apt-get install -y \
libzip-dev \
libicu-dev \
zip \
&& docker-php-ext-install zip

RUN docker-php-ext-enable apcu \
&& docker-php-ext-install intl

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

WORKDIR /usr/src/app

COPY app/ /usr/src/app
RUN chown -R 1000:1000 /usr/src/app

RUN PATH=$PATH:/usr/src/apps/vendor/bin:bin

问题是,当我构建Docker容器时,显然重新创建了/ usr / src / app /文件夹..并且我将public / fichiersflux中的所有数据丢失了

如何保存public / fichiersflux文件夹?

最好的祝福 :)

最佳答案

您可以在php服务上添加卷,以挂载目标文件夹。

version:  '3.7'
services:
mariadb:
image: mariadb:10.4
restart: always
environment:
MYSQL_ROOT_PASSWORD: zfezZEFfz4e1589fze
MYSQL_DATABASE: 1c1t
MYSQL_USER: 1c1t
MYSQL_PASSWORD: fez45FZE1fez0fzefF!
ports:
- 3306:3306
php:
image: php:7.4
build:
context: .
dockerfile: docker/php/Dockerfile
volumes:
- '../app/public/fichiersflux:/usr/src/app/fichiersflux'
restart: on-failure
user: 1000:1000
nginx:
image: nginx:1.17-alpine
restart: on-failure
volumes:
- './app/public/:/usr/src/app'
- './docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro'
ports:
- 8080:80
depends_on:
- php

关于docker - Docker:需要在symfony项目中保留文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61391020/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com