Я развертываю несколько Docker служб через docker-compose
с удаленным контекстом. Я настроил его на использование S SH:
docker context create remote --docker "host=ssh://user@my.remote.host"
docker context use remote
На удаленном хосте у меня есть несколько файлов конфигурации, которые я хочу смонтировать в Docker. Он работает нормально, когда я пытаюсь использовать docker
CLI:
docker run -v /home/user/run:/test -it alpine:3.11
# ls -la /test
-> shows remote files correctly here
Но когда я запускаю его, используя docker-compose
с файлом конфигурации:
version: "3.3"
services:
nginx:
image: nginx:1.17.10-alpine
container_name: nginx
restart: unless-stopped
volumes:
- ${HOME}/run/nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
- "443:443"
Он пытается по какой-то причине монтировать локальные файлы вместо удаленных и выдает ошибку:
ERROR: for nginx Cannot start service nginx: OCI runtime create failed: container_linux.go:296: starting container process caused "process_linux.go:398: container init caused \"rootfs_linux.go:58: mounting \\\"/home/local-user/run/nginx.conf\\\" to rootfs \\\"/hdd/docker/overlay2/c869ef9f2c983d33245fe1b4360eb602d718786ba7d0245d36c40385f7afde65/merged\\\" at \\\"/hdd/docker/overlay2/c869ef9f2c983d33245fe1b4360eb602d718786ba7d0245d36c40385f7afde65/merged/etc/nginx/nginx.conf\\\" caused \\\"not a directory\\\"\"": unknown: 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
Можно ли смонтировать удаленные ресурсы через docker-compose
аналогично стандартному Docker CLI?