Я работаю над проектом Symfony с Docker, и чтобы иметь возможность генерировать файлы PDF в проекте, мне нужно было установить SnappyBundle https://github.com/KnpLabs/KnpSnappyBundle.Для генерации pdf-файлов также необходимо установить wkhtmltopdf.
Вот что я сделал: я подключился к контейнеру приложений с правами root docker exec -u root -t -i container_id /bin/bash
, затем установил два пакета
apt-get update
apt-get install wkhtmltopdf
apt-get install xvfb
Затем я изменил свой файл config.yml для выполнения wkhtmltopdf с xvfb
Таким образом, он работает, но есть ли способ просто автоматизировать установку этих пакетов с помощью docker-compose?
version: '2'
networks:
community:
external: true
services:
app:
build: docker/php72
working_dir: /var/www/app
networks:
community:
aliases:
- app
default:
aliases:
- app.myapp
volumes:
- .:/var/www/app
- ~/.composer:/var/www/.composer
dns:
- X.X.X.X
- X.X.X.X
- X.X.X.X
- X.X.X.X
web:
image: nginx:1-alpine
working_dir: /var/www/app
networks:
myapp:
aliases:
- app
default:
aliases:
- app.myapp
volumes:
- ./docker/nginx/app.conf:/etc/nginx/conf.d/default.conf:ro
- .:/var/www/app
- ./var/logs/nginx/:/var/log/nginx
expose:
- 80
depends_on:
- app
dns:
- X.X.X.X
- X.X.X.X
- X.X.X.X
- X.X.X.X
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: XXXX
MYSQL_USER: XXXX
MYSQL_PASSWORD: XXXX
MYSQL_DATABASE: XXXX
ports:
- "3306:3306"
networks:
community:
aliases:
- bdd
default:
aliases:
- bdd.myapp
dns:
- X.X.X.X
- X.X.X.X
- X.X.X.X
- X.X.X.X
Мой docker-compose выглядит так (я скрыл некоторую информацию)