:Volume Sharing Docker Containers
Docker Container için Restart policy#
Hatalı çalışan ya da bir hatadan dolayı düşen bir Docker container ı , belli bir durumda Docker Daemon tarafından tekrar ayağa kaldırmak için ;
- no (Default olarak tüm container lar düştükleri zaman tekrar ayağa kaldırılmayacaklardır.)
- always (Düşen container her zaman ayağa kaldırılacak.)
- on-failure (Sadece hata kodu fırlatırlırsa tekrar başlatılacak.)
- unless-stopped (Biz daemon’a bizzat
docker stop
komutunu göndermediğimiz taktirde, her zaman yeniden başlatılır.)
Aşağıdaki örnekler docker-compose.yml a uygulanmıştır.
version: '3'
services:
redis-server:
image: 'redis'
node-app:
restart: always
build: .
ports:
- "8081:8081"
Volume Paylaşımlı bir Container ı Docker Compose Kullanarak Ayağa Kaldırmak#
Aslında .yml dosyasında çok bir şey değişmiyor ancak bizim örneğimizde şu anda Dockerfile.dev bulunduğu için ve biz bu image ı development için kullandığımız için dockercompose bizim Dockerfile’ımızı kolaylıkla bulamacak bu nedenle compose yml’ı aşağıdaki gibi hazırlıyoruz.
version: '3'
services:
web:
build: .
ports:
- "3000:3000"
volumes:
- /app/node_modules
- .:/app
yerine ;
version: '3'
services:
web:
build:
context: .
dockerfile: Dockerfile.dev
ports:
- "3000:3000"
volumes:
- /app/node_modules
- .:/app
build kısmını bu şekilde değiştiriyoruz.