При запуске Docker инструментов, докер демон работает в VirtualBox VM. Демон (и контейнеры, которые запускаются внутри этой виртуальной машины), поэтому не имеют доступа к файлам на вашем хосте (Mac OS X).
Когда вы привязываете каталоги с вашего хоста в контейнер (чтобы контейнер мог получить доступ к этим файлам), файлы всегда монтируются с хоста, на котором запускается daemon ; в вашем случае виртуальная виртуальная машина.
Docker Toolbox использует «трюк», чтобы вы могли монтировать файлы с вашего хоста; файлы внутри каталога /Users/
совместно используются виртуальной виртуальной машиной VM с использованием гостевых дополнений VirtualBox. Это означает, что когда вы бежите;
docker run -v /Users/myname/somedir:/var/www/html -d nginx
докер демон монтирует /Users/myname/somedir
каталог из VM в контейнер. Из-за гостевой дополнения «трюк» этот путь фактически используется совместно с вашей машиной OS X, поэтому контейнер «видит» файлы с вашего компьютера OS X.
Однако каталог за пределами/Users/
не разделен между машиной OS X и виртуальной машиной. Если вы пытаетесь связать-монтировать путь, который не существует внутри виртуальной машины, docker создает пустой каталог (предполагается, что вы хотите смонтировать каталог, поскольку он не может определить, должен ли он быть каталогом или файлом) и монтирует этот каталог внутри контейнера.
В вашем примере вы пытаетесь установить привязку;
/Applications/MAMP/htdocs/clients/codingmachine/myapp/mysql/custom-my.cnf
Внутри контейнера в;
/etc/mysql/mysql.cnf
Каталог /Applications
не совместно с ВМ, так докер создает пустой каталог имени custom-my.cnf
внутри виртуальной машины, а затем пытается смонтировать этот каталог на /etc/mysql/mysql.cnf
внутри контейнера. Это не удается, потому что вы не можете смонтировать каталог поверх файла, а Linux выдает ошибку «не каталог».
Для решения проблемы;
Вы используете последнюю версию докеров? –
@sonyvizio Я использую 'DockerToolbox-1.12.2' – Volatil3
Что такое' make kickoff'? Похоже, что это не связано с Докером. Это какая-то оболочка, разработанная кем-то? – YoungSpice