Проблема с форматом файла Docker-compose.yml

Этот пост немного устарел, но я не чувствую, что поведение, которое видит ОП, еще не объяснено. Как заявляли другие, /etc/init.dявляется символической ссылкой на /etc/rc.d/init.d. Отсутствующая часть является причиной того, что оба пути, использованные выше, возвращают один и тот же индексный дескриптор из-за использования завершающей косой черты -. Когда путь заканчивается косой чертой, это сообщает ядру и другим инструментам, что предназначен каталог. Он может защитить команду mv/cp от переименования файла, когда предполагаемый пункт назначения должен быть каталогом, которого на самом деле не существует. Это также приводит к тому, что системный вызов lstat (2 ), используемый ls, разыменовывает символическую ссылку и вместо этого возвращает каталог, на который он указывает (, или выдает ошибку, если он не указывает на существующий каталог ). ]. Попробуйте этот пример, чтобы увидеть разницу:

$ ls -id.
927578.
$ ls -id./parent
927641./parent
$ ls -id./parent/
927641./parent/
$ ls -id./parent/child
927643./parent/child
$ ls -id./parent/child/
927643./parent/child/
$ ls -id./child
927645./child
$ ls -id./child/
927643./child/
$ ls -idL./child
927643./child
$ ls -id./child/..
927641./child/..
$ ls -id./child/../..
927578./child/../..

Вы можете видеть, что наличие косой черты в конце имеет значение только для случая символической ссылки, но скрывает индекс ссылки. Кроме того, опция -L для ls делает что-то подобное, хотя и для любого типа файлов.

0
20.02.2020, 07:20
1 ответ

Мне удалось определить формат файла yml методом проб и ошибок. Теперь он создает работающие док-контейнеры Moodle и Mariadb без участия пользователя.

0
28.04.2021, 23:22

Теги

Похожие вопросы