Host'taki bir klasörü volume'e bağlama

Öncelikle herkese merhaba.

Host’taki bir klasörü container’daki bir klasöre bind ederken

host’taki klasör: /home/apismellifica/my-test-environment
container’daki klasör: /root/app

docker-compose file’da

volumes:
- /home/apismellifica/my-test-environment:/root/app

yukarıdaki şekilde ya da

$HOME/my-test-environment:/root/app

diyerek her iki türde de bind edebiliyoruz. İkinci türde bind etmek bize generic kullanım sağlıyor.

ama aşağıdaki kullanıma izin vermiyor. İlla /home/apismellifica/my-test-environment bu biçimde yazmamı istiyor. Docker’ın bu işlemi yapmasını nasıl sağlayabilirim, şimdiden teşekkürler.


volumes:
- environment:/root/app (diye bir volume oluşturdum)
volumes:
my-test-environment:
driver: local
driver_opts:
type: none
device: $HOME/my-test-environment ******(SORUNLU KISIM) ;’)
o: bind

Volume adını my-test-enviroment olarak tanımlamışsınız fakat mount ederken sadece enviroment demişsiniz.

Hocam yazarken orada bir hata olmuş isimleri aynı düşünebilirsiniz.


device: $HOME/my-test-environment

Yukarıda yazan $HOME değişkenin değerini host’tan değil de container’dan alıyor.
(sudo docker volume inspect environment output’da öyle)

Direkt volume tanımlamadan container tanımında

    volumes:
      - type: bind
        source: $HOME/my-test-environment
        target: /root/app

şeklinde tanımlayıp dener misin?

Ben bu yöntem oluyor zannediyordum bu da olmuyormuş. Sadece $pwd çalışıyor. $HOME yazınca değeri container’dan alıyor. (/root)