【发布时间】:2021-02-05 12:21:33
【问题描述】:
我正在尝试使来自容器wkhtmltopdf 的二进制文件/bin/wkhtmltopdf 在web 容器中可用。我尝试使用命名卷来实现这一点。
我的docker-compose.yml 中有以下 docker 容器设置:
services:
web:
image: php:7.4-apache
command: sh -c "mkdir -p /usr/local/bin && touch /usr/local/bin/wkhtmltopdf"
entrypoint: sh -c "exec 'apache2-foreground'"
volumes:
- wkhtmltopdfvol:/usr/local/bin/wkhtmltopdf
wkhtmltopdf:
image: madnight/docker-alpine-wkhtmltopdf
command: sh -c "touch /bin/wkhtmltopdf"
entrypoint: sh -c "tail -f /dev/null" # workaround to keep container running
volumes:
- wkhtmltopdfvol:/bin/wkhtmltopdf
volumes:
wkhtmltopdfvol:
但是,在运行docker-compose up 时出现以下错误:
ERROR: for wkhtmltopdf Cannot create container for service wkhtmltopdf:
source /var/lib/docker/overlay2/42e7082b8024ae4ebb13a4f0003a9e17bc18b33ef0677431dd002da3c21dde88/merged/bin/wkhtmltopdf is not directory
.../bin/wkhtmltopdf 不是目录
这是否意味着我不能在容器之间共享一个文件,而只能通过命名卷共享目录?我如何做到这一点?
编辑:我还注意到web 容器内的/usr/local/bin/wkhtmltopdf是一个目录,而不是一个文件,正如我所料。
【问题讨论】:
标签: docker docker-compose wkhtmltopdf docker-volume