Я относительно новичок в Docker и пытаюсь настроить машину с nginx, MariaDB и PHP -pm. Пока что кажется, что большинство вещей работает, кроме одного: во время выполнения docker-compose up
я хочу загрузить внешний файл и распаковать его. После успешной инициализации я хотел бы получить доступ к извлеченным файлам. Однако, если я проверяю содержимое каталога назначения, он пуст.
Мой Dockerfile:
FROM php:7.4-fpm-alpine
[...]
WORKDIR /app
RUN set -ex; \
curl -o app.tar -fSL "https://www.example.org/app.tar"; \
tar -xvf app.tar; \
chown -R www-data:www-data .; \
rm woltlab_suite.tar
CMD ["php-fpm"]
EXPOSE 9000
При запуске docker-compose up
регистрируется следующее:
Step 7/10 : WORKDIR /app
---> Running in b5cd78d398fe
Removing intermediate container b5cd78d398fe
---> 8cf4da3b7f31
Step 8/10 : RUN set -ex; curl -o app.tar -fSL "https://www.example.org/app.tar"; tar -xvf app.tar; chown -R www-data:www-data .; rm app.tar
---> Running in 8cbc64e06214
+ curl -o app.tar -fSL https://www.example.org/app.tar
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5394k 100 5394k 0 0 47.4M 0 --:--:-- --:--:-- --:--:-- 47.4M
+ tar -xvf app.tar
file1.ext
file2.ext
file3.ext
file4.ext
file5.ext
file6.ext
file7.ext
+ chown -R www-data:www-data .
+ rm app.tar
Removing intermediate container 8cbc64e06214
Я думаю, это как-то связано с удалением контейнера, как только это будет сделано?
docker -compose.yml:
version: '3'
services:
mariadb:
container_name: app_mariadb
build:
context: ./docker/mariadb
environment:
- MYSQL_DATABASE=${DATABASE_NAME}
- MYSQL_USER=${DATABASE_USER}
- MYSQL_PASSWORD=${DATABASE_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DATABASE_ROOT_PASSWORD}
volumes:
- ./docker/mariadb/data:/var/lib/mysql
php-fpm:
container_name: app_php
volumes:
- ./src:/app/
build:
context: ./docker/php-fpm
depends_on:
- mariadb
nginx:
container_name: app_nginx
volumes:
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/sites/:/etc/nginx/sites-available
- ./docker/nginx/conf.d/:/etc/nginx/conf.d
- ./docker/nginx/log:/var/log/nginx/
- ./src:/app/:ro
build:
context: ./docker/nginx
depends_on:
- php-fpm
ports:
- "8080:80"
- "8443:443"