У меня есть докер-контейнер, созданный из альпийского образа, и я запускаю его на рабочем столе докера в Windows 10 pro. Цель состоит в том, чтобы использовать его в качестве сервера sftp.
Я смонтировал диск D как том в файле docker-compose.
В сценарии точки входа я создаю две папки folder1 и folder2 в контейнере в месте подключенного тома, используя следующий сегмент сценария:
log "Creating folder structure"
if ! [ -d "/home/foo/mountlocation/folder1" ]
then
`mkdir -p /home/foo/mountlocation/folder1`
log "folder1 created!"
fi
if ! [ -d "/home/foo/mountlocation/folder2" ]
then
`mkdir -p /home/mountlocation/folder2`
log "folder2 created!"
fi
При запуске docker-compose я вижу все эти три оператора журнала, выводимые на консоль.
Обе папки, folder1 и folder2 созданы и отображаются на моем диске D.
Когда я захожу в мой контейнер, cd
в папке / home / foo / mountlocation / и с помощью команды ls -a
папка 2 отображается как единственное содержимое папки.
Если я создаю папку, folder3, рядом с папкой 1 и папкой 2 на диске D в Windows, то снова отображается ls -a
в контейнере, папка 2 и папка 3.
Я могу cd
в папку 1, даже если ее нет в списке.
Я могу напечатать название текущей папки с помощью команды
printf '%s\n' "${PWD##*/}"
и вывод
folder1
.
Когда я захожу в контейнер, папка 1 не отображается.
Мне нужно, чтобы обе папки, созданные скриптом точки входа, были видны.
Как оно может существовать, но не быть видимым? Как сделать так, чтобы при сборке и открытии контейнера обе папки были видны?