Том Docker с включенной опцией перезагрузки всегда

У меня проблема с настройкой файла docker-compose, который позволяет docker перезагружать контейнеры при перезагрузке (моя ОС - Ubuntu 16.04). Проблема не в том, когда я прохожу restart: always в него, но когда моему контейнеру нужен какой-то объемный файл (например, ssl-cert в nginx). Мой код (в docker-compose.yml):

php:
    entrypoint: ["wait-for-it", "dockerhost:3306", "-t", "0", "--", "/install.sh"]
    environment:
      - ENVIRONMENT=prod
    volumes:
      - ${FILE}:/file
      - /code
    env_file:
      - prod.env
    restart: always

И все хорошо, когда я начинаю это сам. Затем я проверяю, будет ли работать после перезагрузки. Но нет, это не работает, docker-compose ps дает:

Name                    Command                State      Ports   
-----------------------------------------------------------------------          
panel_php_1        wait-for-it dockerhost:330 ...   Exit 127 

Выполняя docker inspect panel_php_1 это повторяет ошибку:

"Error": "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:359: container init caused \\\"rootfs_linux.go:54: mounting \\\\\\\"/home/mblocinski/hehe.txt\\\\\\\" to rootfs \\\\\\\"/var/lib/docker/aufs/mnt/d746adf311098a9e2ffc27d9447a3e448ecfb9081ff4757704c24ec51ef9053e\\\\\\\" at \\\\\\\"/var/lib/docker/aufs/mnt/d746adf311098a9e2ffc27d9447a3e448ecfb9081ff4757704c24ec51ef9053e/file\\\\\\\" caused \\\\\\\"not a directory\\\\\\\"\\\"\"\n: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type"

И крепления:

"Mounts": [
            {
                "Type": "bind",
                "Source": "/home/mblocinski/hehe.txt",
                "Destination": "/file",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
]

Я уверен, что файл hehe.txt - это файл, а не каталог. Может быть, будет полезно, если я скажу, что монтирование тома в контейнер, являющийся каталогом, работает хорошо. Пожалуйста, помогите, искал уже весь интернет и ничего действительно не работает. Спасибо

1 ответ

Решение

Проверьте, зашифрован ли /home с помощью encfs. По умолчанию Ubuntu настраивает эту функцию во время установки.

Запустите эту команду: mount|grep home и проверьте, есть ли у выхода type encfs или что-то вроде

Другие вопросы по тегам