: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.