Для следующего:
volumes:
- type: volume # Also tried `bind` type and other syntaxes
- ./logs:/productionbackend/logs
Я не знаю, если это ваша опечатка или другие, но эта грамматика кажется странной, см. официальная грамматика
Далее я приведу минимальный пример, который мог бы работать для вашей справки:
docker-compose.yaml:
version: '3'
services:
backend:
image: alpine
container_name: my_try
volumes:
- ./log_on_host:/productionbackend/logs
command: sh -c 'echo "hi" > /productionbackend/logs/my_log.txt'
И затем история выполнения:
shubuntu1@shubuntu1:~/abc$ ls
docker-compose.yaml
shubuntu1@shubuntu1:~/abc$ docker-compose up -d
Creating network "abc_default" with the default driver
Creating my_try ... done
shubuntu1@shubuntu1:~/abc$ docker-compose down
Removing my_try ... done
Removing network abc_default
shubuntu1@shubuntu1:~/abc$ ls
docker-compose.yaml log_on_host
shubuntu1@shubuntu1:~/abc$ cat log_on_host/my_log.txt
hi
Сверху вы можете видеть, что хотя контейнер my_try был уничтожен, мы по-прежнему видим журнал my_log.txt
, который содержит содержимое hi
на хосте.Вам нужно изменить свой аналогично приведенному выше минимальному примеру, только к вашему сведению.