Решил вопрос. Может кому поможет. Если я создаю файл cronfile в windows - в начало файла приписывается какой то символ, который не читается sh.
Если создать файл заданий через консоль - то все будет норм.
Я справился таким образом:
FROM php:7-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libzip-dev \
zip \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install zip \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install pdo_mysql
# Install cron
RUN apt-get update && apt-get install -y cron \
nano
RUN touch /etc/cron.d/cronfile && \
touch /var/log/cron.log && \
echo "SHELL=/bin/sh" >> /etc/cron.d/cronfile && \
echo "PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" >> /etc/cron.d/cronfile && \
echo "* * * * * echo 777555 >> /var/log/cron.log 2>&1" >> /etc/cron.d/cronfile && \
chmod 0644 /etc/cron.d/cronfile && \
chmod 0777 /var/log/cron.log && \
crontab /etc/cron.d/cronfile
CMD cron && php-fpm