Dockerfile "RUN echo" с командой перенаправления приводит к искаженному имени файла - PullRequest
1 голос
/ 11 октября 2019

Вот мой Dockerfile:

FROM php:7.1-apache
WORKDIR /etc/apache2/conf-enabled
RUN ln -s ../conf-available/lda-htaccess.conf .
WORKDIR /etc/apache2/conf-available
RUN echo "<Directory /var/www/html>\n" \
         "  AllowOverride All\n" \
         "</Directory>\n" \
         > lda-htaccess.conf

И вот результирующая запись каталога:

root@866474a33e66:/etc/apache2/conf-available# ls -al
total 36
drwxr-xr-x 1 root root 4096 Oct 11 18:12  .
drwxr-xr-x 1 root root 4096 Sep 12 09:38  ..
-rw-r--r-- 1 root root  315 Apr  2  2019  charset.conf
-rw-r--r-- 1 root root  204 Sep 12 09:38  docker-php.conf
-rw-r--r-- 1 root root 3224 Apr  2  2019  localized-error-pages.conf
-rw-r--r-- 1 root root  189 Apr  2  2019  other-vhosts-access-log.conf
-rw-r--r-- 1 root root 2174 Apr  2  2019  security.conf
-rw-r--r-- 1 root root  455 Apr  2  2019  serve-cgi-bin.conf
-rw-r--r-- 1 root root   62 Oct 11 18:12 ''$'\302\240''lda-htaccess.conf'
root@866474a33e66:/etc/apache2/conf-available#

Не важно, как я отформатирую команду echo, или еслиЯ использую форму exec, или какой контент я использую;результат всегда один и тот же.

Вот моя версия:

Docker версия 19.03.2, сборка 6a30dfc

Что я здесь не так делаю? Похоже, это должно работать - и я использовал этот шаблон раньше.

1 Ответ

0 голосов
/ 11 октября 2019

Оказалось, что после> и перед именем файла был символ пробела Юникода. Исправление, которое исправило сборку Dockerfile. В моем синтаксисе не было ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...