Docker container ile HOST üzerinde linux komutları çalıştırma

Esenlikler,

Docker compose ile ayağa kaldırılan bir uygulamanın birkaç servisinin belli aralıklarla yeniden başlatmam gereken bir ihtiyaç ortaya çıktı.

Bir Linux sever olarak direkt cron olarak bir job yazmaya yönelmek istesemde müşteri bunu compose içerisinden yönetilmesini istedi.

command: argümanlarını değiştirerek istediğiniz komutları çalıştırabilirsiniz. 1

version: '3'
services:
  app:
    container_name: app
    image: nginx:alpine
    ports: ["80:80"]
    restart: unless-stopped

  restarter:
    container_name: restarter
    image: docker:cli
    volumes: ["/var/run/docker.sock:/var/run/docker.sock"]
    # direkt docker 
    command: ["/bin/sh", "-c", "while true; do sleep 10; echo $$(date +'%Y-%m-%d %H:%M') - app yeniden başlatıldı.; docker restart app; done"]
    # docker-compose içerisinde
    #command: ["/bin/sh", "-c", "while true; do sleep 10; echo $$(date +'%Y-%m-%d %H:%M') - app yeniden başlatıldı.; docker compose -p uygulamam restart app; done"]
    restart: unless-stopped
sercangezer@TTK|192.168.1.221|:/tmp $> docker logs restarter -f
2024-03-07 08:03 - app yeniden başlatıldı.
app
2024-03-07 08:04 - app yeniden başlatıldı.
app
2024-03-07 08:04 - app yeniden başlatıldı.
app

Esen kalın …

İçeriği paylaş:

× Yazılan içerik ile ilgili her türlü soru, şikayet ve öneriniz için ePosta gönderebilirsiniz.
Etiket: docker, docker-compose, docker compose