我有一个带有三个容器的简单的坞堆栈:一个mysql容器、一个php容器和一个nginx容器。
我只想在每次创建容器时都能够执行我的原则迁移和一个symfony命令。
目前,当我在构建后输入docker日志#myphpcontainername#并编写-d 'ing时,我得到了一个错误:“未找到”。
我的php-fpm停靠文件:
FROM php:7.2-fpm
RUN apt-get update
RUN apt-get install -y zlib1g-dev libpq-dev git libicu-dev libxml2-dev \
......
RUN curl --insecure https://getcomposer.org/composer.phar -o /usr/bin/composer && chmod +x /usr/bin/composer
WORKDIR /var/www/symfony
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ['/entrypoint.sh']我的entrypoint.sh位于与我的Dockerfile相同的位置:
#!/bin/bash
set -e
sleep 5
php /var/www/symfony/bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration
exec "$@"发布于 2018-03-16 01:58:00
我相信你需要把那个文件变成可执行文件
RUN chmod 0700 entrypoint.sh或者应该是
ENTRYPOINT /entrypoint.sh看看这篇有很好解释https://www.ctl.io/developers/blog/post/dockerfile-entrypoint-vs-cmd/的文章
发布于 2018-03-16 12:39:07
尝尝这个
ADD . /var/www/symfony
WORKDIR /var/www/symfony
RUN chmod +x entrypoint.sh
...
CMD ["/var/www/symfony/entrypoint.sh"]https://stackoverflow.com/questions/49056338
复制相似问题