gpt4 book ai didi

symfony - Docker-compose自动安装wkhtmltopdf

转载 作者:行者123 更新时间:2023-12-02 21:13:23 25 4
gpt4 key购买 nike

我正在与docker共同开发一个symfony项目,为了能够在该项目中生成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文件更改为使用xvfb执行wkhtmltopdf

这样就可以了,但是有没有办法用我的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看起来像这样(我已经隐藏了一些信息)

最佳答案

在与Dockerfile相同的位置创建一个名为docker-compose.yml的文件。

这应该是您的dockerfile的内容:

FROM docker/php72

RUN apt-get update && apt-get install -y wkhtmltopdf xvfb

然后将您的docker-compose应用服务更改为:
app:
build: .

然后运行 docker-compose build,您将构建具有所需依赖项的新docker镜像,并从此处运行应用程序。

另外,快速提示: docker-compose exec service_name bashdocker exec -t -i container_id /bin/bash是同一件事

关于symfony - Docker-compose自动安装wkhtmltopdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52929875/

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