Tool.Yun
Geliştiriciler için kullanışlı araçlar
ActiveDirectory LDAP özellik arayıcısı
DMARC Rapor Analizcisi
DNS Test Cihazı
DNS Yayılım Test Cihazı
Direnç Hesaplayıcısı
Dosya Türü Algılayıcı
E-posta Ayrıştırıcısı
EMV TLV kod çözücü
ETH İşlem Kod Çözücü
GZip/Deflate dönüştürücü
Geri Dönen E-posta Ayrıştırıcısı
HTTPS Test Cihazı
Hassas veri maskeleyici
Hex Kodlayıcı/Kod Çözücü
Kar Tanesi Kimlik Çıkarıcı
Kayan nokta sayı dönüştürücü
Keycode bilgisi
Kısa URL Genişletici
MIME Kodlama Dönüştürücü
Metin Karakter Seti Algılayıcı/Kod Çözücü
MongoDB ObjectId Dönüştürücü
Nmap Komut Oluşturucu
Orta-Endian Dönüştürücü
Outlook MSG Ayrıştırıcısı
Outlook Safelink kod çözücü
Parke dosyaları Okuyucu
RJ45 Cat6 Kablolama Hızlı Referans Kılavuzu
SMART Raw Dönüştürücü
Seri Port Konsolu
SharePoint Paylaşım URL Kod Çözücü
TCPDump Oluşturucu
URL Oluşturucu
URL ayrıştırıcısı
Çerez Ayrıştırıcısı
Ölü Piksel Test Cihazı
键盘测试器
ARPA Kod Çözücü
Apache LogRotate Oluşturucu
BIMI DNS Oluşturucu
Chmod hesaplayıcısı
Cloudflare DNS/RDAP Sorguları
Crontab oluşturucu
Curl Komut Üreticisi
DKIM DNS Oluşturucu
DMARC DNS Oluşturucu
DNS Sorguları
DNSBL Denetleyicisi
FStab Jeneratörü
Görsel Alt Ağ Hesaplayıcı
HAS Dezenfektan
HDD hesaplayıcısı
HTAccess oluşturucu
Htpasswd/htaccess üreteci
IP Adresim
IP Alt Ağları Hariç Tutma Hesaplayıcısı
IP Coğrafi Konum
IPv4 Alt Ağ Listeleyicisi
IPv4 adres dönüştürücü
IPv4 alt ağ hesaplayıcısı
IPv4 aralık genişletici
IPv4-6/IPRange/CIDR, IPRange/CIDR/IPMask'ta
IPv4/6 Aralığı CIDR(ler) Hesaplayıcısı
IPv6 ULA üreteci
IPv6 adres dönüştürücü
IPv6 alt ağ hesaplayıcısı
Iptables Üreticisi
Ipv4/6 CIDR - IP Aralığı Hesaplayıcısı
Kabuk Komutları Biçimlendiricisi
Kabuk Komutları Doğrusallaştırıcı
Kapatma Komutu Oluşturucu
MAC Adresi Dönüştürücü
MAC adresi araması
MAC adresi üreteci
Mikrofon Test Cihazı
Nginx biçimlendirici
Option43 jeneratörü
PTR DNS Oluşturucu
Ping
Port Numaraları
Punycode Dönüştürücü
RAID Güvenilirlik Hesaplayıcısı
RAID Hesaplayıcı
Rastgele port oluşturucu
Rsync Üreticisi
SIP Yetkilendirmesi
SPF DNS oluşturucu
TCP/UDP Port Test Cihazı
Tam Sayılardan IPv4/IPv6'ya
Temel kimlik doğrulama oluşturucu
UFW Komut Üreticisi
Veri Aktarım Hızı Hesaplayıcı
WPA PSK üreteci
Websocket testi
Whois Denetleyicisi
Wireguard Yapılandırma Oluşturucu
X-VR-SpamCause Kod Çözücü
ZPOOL RAID hesaplayıcısı
ZPool Hile Sayfası
Zxcvbn Şifre Gücü
firewalld komut satırı oluşturucu
tools.restic-command-generator.name
tools.url-redirection-checker.name
Çoklu bağlantı indirici
Şifre gücü analizi
Barkod Okuyucu
Barkod üreteci
GTIN Doğrulayıcı
QR Kod çözücü
QR Kod üreteci
QR İletişim Bilgisi Oluşturucu
WiFi QR Kodu üreteci
tools.epc-qrcode-generator.name
AGE Kriptografisi
Ansible Vault şifreleme şifresini çözme
Argon2 Karıştırıcı
Bcrypt
Bech32 Kodlayıcı/Kod Çözücü
CRC hesaplayıcısı
CSR Üreticisi
Dosya Karıştırıcı
ECDSA anahtar çifti oluşturucu
Ed25519 anahtar çifti üreteci
Hmac oluşturucu
JWT Jeneratörü
JWT ayrıştırıcısı
Jasypt Dize Şifrelemesi
Karma metin
Metni Şifrele/Çöz
Niceware Baytlarını Parolaya Dönüştürme
PGP Dosya Şifrelemesi
PGP anahtar üreticisi
PGP şifrelemesi
Paseto/PASERK Kamu/Özel
Paseto/PASERK Yerel
RSA anahtar çifti üreteci
RSA şifrelemesi
RSA/DSA/ECDSA İmzalayan ve Doğrulayan
SAML Ayrıştırıcısı
SSL Sertifika dönüştürücü
Sertifika/Anahtar ayrıştırıcısı
Shamir'in Gizli Paylaşımı
X509 sertifika oluşturucu
Base64 Hex dizi kodlayıcı/kod çözücü
Base64 dosya dönüştürücü
Base64 metin şifreleyici/çözücü
CSV'den Veriye
Coğrafi Koordinat Dönüştürücü
E-posta normalleştirici
Enerji Tüketimi ve Gider Bilgisayarı
Excel'den veriye
Metinden UTF-8 ikilisine
Metinden Unicode'a
Roma rakamı dönüştürücü
Tam sayı taban dönüştürücü
Torrent'ten Mıknatısa
ULID üreteci
Unicode Karakterlerini Java Varlıklarına Dönüştürücü
Veri Depolama Birimi dönüştürücü
dBm mW Dönüştürücü
Çevre Değişkenleri Biçim Dönüştürücü
Çok Birim Dönüştürücü
Özellikler dönüştürücü
Amortisman Hesaplayıcısı
Alan Birimleri Dönüştürücü
Aydınlatma Dönüştürücü
Açı Birimleri Dönüştürücü
Basınç Birimleri Dönüştürücü
Enerji Birimleri Dönüştürücü
Fitness Bilgisayarı
Frekans Dönüştürücü
Güç Dönüştürücü
Gıda Enerji Dönüştürücü
Hacim Akış Hızı Dönüştürücü
Hacim Birimleri Dönüştürücü
Hız Dönüştürücü
Hızlanma Dönüştürücü
Kuvvet Birimleri Dönüştürücü
Kütle Birimleri Dönüştürücü
SI Önekleri Dönüştürücü
Sıcaklık dönüştürücü
Uzunluk Birimleri Dönüştürücü
ANSI Kaçış Test Cihazı
API Testleri
Açık grafik meta üreteci
Bukle Dönüştürücü
CSS/JS Güzelleştirme ve Küçültme
Cli komut düzenleyicisi
Django Gizli Üreticisi
Dosya Bölücü
Favicon Oluşturucu
GitIgnore Oluşturucu
Gitattributes Generator
HEX Dosya Dönüştürücü
Javascript Gizleyici
Javascript Güzelleştirici
Javascript Unobfuscator/Unpacker
Json'dan Protobuf'a
Json'dan SQL'e INSERT
Json'dan Typescript'e
K6 Yük Testi Komut Dosyası Oluşturucu
Kod/Komut Dosyası Vurgulayıcı
Mailto Oluşturucu
Picomatch Test Cihazı
Pomodoro Zamanlayıcısı
SQL Küçültücü
SQL Parametreleri Oluşturucu
SQL güzelleştirici
Stacktrace daha güzel
Swagger kullanıcı arayüzü test kullanıcısı
Teklif Dönüştürücü
Veri Sahtekarı
Veritabanı Bağlantı Dizesi Oluşturucu
Veritabanı Oluşturma Aracı
Veritabanı Tablosu Oluşturucu
İp Kaçışı
EXIF'i kaldır
Filigran
GIF'ten MP4'e
Görüntü Arka Planını Kaldır
Görüntü EXIF/Meta Veri/GPS/JPEG Kalite okuyucu
Görüntü Formatları Dönüştürücü
Görüntü Karşılaştır
Görüntü Renk Çeviricisi
Görüntü yeniden boyutlandırıcı
Görüntüden SVG'ye (potrace)
Görüntüyü ve PDF'yi OCRize edin
HEIC Dönüştürücü
ICO/PNG dönüştürücü
Kamera kaydedici
Resmi kırp
SVG Önizleyici
Bash Hile Sayfası
CSS Seçiciler Hile Sayfası
Docker Compose hile sayfası
Docker Hile Sayfası
Docker SWARM hile sayfası
Dockerfile hile sayfası
Ekran Komutları Hızlı Referans Kılavuzu
Git Semantik Commit Hile Sayfası
Git hatırlatma notu
JSONPath Sözdizimi Hile Sayfası
Jq Hile Sayfası
K8s Hile Sayfası
Markdown Hile Sayfası
Nano Hile Sayfası
Nginx Hile Sayfası
PowerShell Hızlı Başvuru Kılavuzu
Regex hile sayfası
Sed hile sayfası
Tmux Komutları Hızlı Referans Kılavuzu
VIM Hile Sayfası
XPath Sözdizimi Hile Sayfası
Yaygın Regex Hile Sayfası
Zellij Komut Hile Sayfası
chmod Komut Hile Sayfası
CSV'den JSON'a
JS'den JSON'a dönüştürücü
JSON Birleşmesi
JSON Düzleştirici/Düzleştirmeyi Kaldırıcı
JSON Editörü
JSON Linter
JSON farkı
JSON güzelleştirme ve biçimlendirme
JSON küçültme
JSON nesneye
JSON sıralama ustası
JSON to CSV
JSON to Go
JSON'dan .env'ye
JSON'dan C#'a
JSON'dan JS'ye dönüştürücü
JSON'dan Java Varlığına
JSON'dan MessagePack'e
JSON'dan TOML'a
JSON'dan TS'ye
JSON'dan Verilere
JSON'dan XML'e
JSON'dan YAML'ye dönüştürücü
Jq/JSONPath Test Cihazı
Json Boyut Analizcisi
Json Kaçış/Kaçış Kaldırıcı
Json Sorgusu
Json dize dönüştürücü
Json'dan PHP Dizisine
Json'dan PHP Koduna
Json'dan Python'a
Json'dan SQL'e DDL
Json'dan Şemaya
Mesaj Paketini JSON'a Dönüştür
ObjGen'den JSON'a
PHP Dizisini JSON'a Dönüştürme
tools.json-patch.name
BIP39 şifre oluşturucu
Diceware Şifre Oluşturucu
NanoID üreteci
OTP kod üreteci
Parola Üreticisi
Pin Kodu Üreticisi
Rastgele sayı üreteci
Sayı üreteci
Token Oluşturucu
UUID dönüştürücü
UUID üreteci
Docker Compose Doğrulayıcı
Docker Compose Format Dönüştürücü
Docker Compose'dan Docker run dönüştürücüsüne
Docker Compose'dan Quadlet'lere
Docker Compose'u .env dosyasına dönüştürme
Docker Compose'u Kubernetes'e dönüştürme
Docker Görüntü İndirici
Docker Pangolin Etiketleri
Docker çalıştırma ve Docker oluşturma dönüştürücüsü
Docker'ı Docker'a denetle
Docker, Kubernetes'e çalıştırılıyor
Docker, Quadlet'lere koşuyor
Dockerfile Etiket Oluşturucu
Kubernetes RBAC Oluşturucu
Traefik Docker Compose Maker
Bahşiş hesaplayıcı
Matematik Formatları Dönüştürücü
Matematik OCR
Matematiksel ifade hesaplayıcı
Trigonometrik/Denklem Eğrisi Görselleştirici
İkili Hesap Makinesi
Fal çarkı
Kart Seçici
Madeni Para Atma Makinesi
Zar Atıcı
HTML'den PDF'ye
PDF Birleştirici
PDF Doğrusallaştır/HızlıWeb
PDF Metin Çıkarıcı
PDF Sayfa Çıkarıcı
PDF Sıkıştırıcı
PDF imza denetleyicisi
PDF Şifreleme
PDF Şifresini Çöz ve Kilidini Aç
TOML Linter
TOML'den JSON'a
TOML'den YAML'ye
Cron/Hafta İçi Alarmı
ETA hesaplayıcı
Geri sayım
Gün Hesaplayıcısı
Hafta Sayıları Dönüştürücü
Hangi Gün?
ICAL Dosya Ayrıştırıcısı
ICAL Jeneratörü
Kronometre
Saat Dilimi Dönüştürücü
Süre Hesaplayıcısı
TTL hesaplayıcısı
Tarih+Süre Hesaplayıcısı
Tarih-saat dönüştürücü
Zaman Alarmı
iCal Birleşmesi
Cron İfade Oluşturucu
BMI Hesaplayıcı
Döviz Dönüştürücü
IBAN doğrulayıcı ve ayrıştırıcı
IES Aydınlatma Yönergeleri
ISBN Doğrulayıcı ve Ayrıştırıcı
ISO 3166 Ülke Kodları Arama Aracı
ISO 639 Arama Aracı
KDV Numaraları Doğrulayıcı
Kabuk Komutlarını Açıklayın
Koşu Hızı Hesaplayıcı
Kredi Kartı Denetleyicisi
Luhn Doğrulayıcı
RMB Büyük Harf Dönüştürücü
SLA hesaplayıcısı
Takvim Dönüştürücü
Telefon ayrıştırıcı ve biçimlendirici
Unicode Arama
Yazılım lisans uyumluluğu
Çevrimiçi Sözlük
CSS Birim Dönüştürücü
CSS Gradyan Oluşturucu
CSS XPath Dönüştürücü
CSS güzelleştirici
Cihaz bilgileri
Görüntüden CSS'ye
HTML Güzelleştirici
HTML Küçültücü
HTML WYSIWYG düzenleyici
HTML temizleyici
HTML varlıklarından kaçış
HTML'den XHTML'e
HTML'den veriye
HTTP durum kodları
Kullanıcı aracı ayrıştırıcısı
MIME türleri
REM Piksel dönüştürücü
Renk Kontrast Denetleyicisi
Renk dönüştürücü
Renk Çemberi
SVG placeholder oluşturucu
Slugify dizesi
URL Metin Arama Parçası Oluşturucu
URL Temizleyici
URL Yakalayıcı
URL biçimli dizeleri kodla/kodunu çöz
UTM URL Oluşturucu
ObjGen'den HTML'ye
XML Linter
XML biçimlendirici
XML'den JSON'a
XPath Test Cihazı
XSLT test cihazı
YAML Birleşmesi
YAML Düzleştirici/Düzleştirici
YAML güzelleştirici
YAML'den JSON'a dönüştürücü
YAML'den TOML'ye
AI için dosyaları paketle
AI İstemi Ayırıcı
ASCII Art Metin Oluşturucu
Akıllı Metin Değiştirici ve Satır Sonlandırıcı
Alıntı Oluşturucu
Denizkızı ihracatçısı
Dize karartıcı
Emoji seçici
Farklı Kelimeler
GPT Token Kodlayıcı/Kod Çözücü
GPT Token Tahmincisi
Görüntüden ASCII Sanatına
HTML'den metin çıkar
I ve L Denetleyicisi
JSON'dan TOON'a
Kasa dönüştürücü
Klasör Yapısı Diyagramı
Klavye Düzeni Dönüştürücü
Levenshtein Hesap Makinesi
Liste dönüştürücü
Listeleri Karşılaştır
Merhaba jeneratör.
Metin farkı
Metin istatistikleri
Metin Çevirmeni
Metinden Unicode Adlarına
Mors Kodu Dönüştürücü
NATO alfabesine metin
RSVP Okuyucusu
Rastgele Satır Seçici
Regex Test Cihazı
Rün dönüştürücü
Sed Komut üreteci
Sekme tuşuyla boşluklara geçin
Sosyal Bağlantı Paylaşıcısı
TOON'dan JSON'a
Unicode Biçimlendirici
Unicode'dan GSM-7'ye
Yazı Tipi Karşılaştır
Yinelenen Satır Bulucu
Zalgo Jeneratörü/Banner
Benchmark oluşturucu
Coğrafi mesafe hesaplayıcısı
En Boy Oranı Hesaplayıcısı
Yüzdelik Hesaplayıcı
Epub'dan Markdown'a
Html'den Markdown'a
Markdown Editörü
Markdown Farkı
Markdown Lorem Ipsum
Markdown Tablo Güzelleştirici
Markdown Tablosu Oluşturucu
Markdown olarak yapıştır
Markdown toc oluşturucu
Markdown önizlemesi
Markdown'dan DOCX'e
Markdown'dan HTML'ye
Markdown'dan Metne
Markdown'dan veriye
tools.markdown-format-converter.name

Docker SWARM hile sayfası

Docker Swarm modu hile sayfası

Docker Swarm mode is Docker’s native clustering and orchestration solution. It turns a group of Docker hosts into a single virtual system with high availability, load balancing and a declarative deployment model — using the CLI you already know.

  • Built-in orchestration with a declarative service model
  • Rolling updates and one-command rollback
  • Self-healing: failed replicas are rescheduled automatically
  • Secure node-to-node communication over mutual TLS, rotated automatically
  • Secrets and configs distributed straight from the cluster store

ℹ️ Swarm does not auto-scale on load. Replica counts are set manually with --replicas or docker service scale.

🧱 Concepts

TermWhat it is
NodeA Docker engine that joined the swarm — a manager or a worker
ManagerKeeps cluster state via Raft, schedules tasks, serves the API
WorkerRuns tasks only; has no view of the cluster state
ServiceThe declaration of what should run (image, replicas, ports, …)
TaskOne container slot of a service, scheduled onto a node
StackA group of services deployed together from a Compose file

📌 Swarm Initialization

# initialize a swarm; this node becomes the first manager
docker swarm init

# pick the interface to advertise on multi-homed hosts
docker swarm init --advertise-addr <manager-ip>

# address pool for the overlay networks
docker swarm init --default-addr-pool 10.20.0.0/16

# print the command a worker needs to join
docker swarm join-token worker

# print the command a manager needs to join
docker swarm join-token manager

# run on the joining node
docker swarm join --token <token> <manager-ip>:2377

# rotate a token, invalidating the old one
docker swarm join-token --rotate worker

# leave the swarm (on a worker)
docker swarm leave

# leave on a manager, or on the last node
docker swarm leave --force

# keep fewer terminated tasks per service
docker swarm update --task-history-limit 5

# lifetime of the node certificates
docker swarm update --cert-expiry 720h

# rotate the swarm certificate authority
docker swarm ca --rotate

🔌 Ports that must be open between nodes

PortProtocolUsed for
2377TCPCluster management (managers only)
7946TCP + UDPNode discovery and gossip
4789UDPOverlay network data plane (VXLAN)
IP protocol 50 (ESP)—Only with encrypted overlay networks

👥 Node Management

# list the nodes of the swarm
docker node ls

# filter by role, id, name, label, membership
docker node ls --filter role=manager

# readable summary of one node
docker node inspect <node> --pretty

# a single field via a Go template
docker node inspect -f '{{.Status.State}}' <node>

# worker  → manager
docker node promote <node>

# manager → worker
docker node demote <node>

# move tasks off and stop scheduling new ones
docker node update --availability drain <node>

# keep running tasks, schedule nothing new
docker node update --availability pause <node>

# bring a drained or paused node back
docker node update --availability active <node>

# label a node for placement constraints
docker node update --label-add env=production <node>

# remove a label again
docker node update --label-rm env <node>

# tasks running on a node
docker node ps <node>

# remove a node that already left
docker node rm <node>

# remove an unreachable node
docker node rm --force <node>

💡 Drain a node before maintenance (--availability drain), then set it back to active. Swarm reschedules the tasks for you.

🧠 Manager Nodes & Raft

Managers orchestrate tasks, maintain the cluster state through Raft consensus and serve the API. Several managers give you high availability, but only one is the leader at a time.

⚠️ Use an odd number of managers (3, 5 or 7). Raft tolerates (N-1)/2 failures — 3 managers survive 1 loss, 5 survive 2. Beyond 7 the consensus overhead outweighs the benefit.

# swarm and Raft state of the local node
docker info

# details of the current node, manager status included
docker node inspect self --pretty

# encrypt the Raft logs at rest
docker swarm update --autolock=true

# unlock a manager after a restart
docker swarm unlock

# show the current unlock key
docker swarm unlock-key

# rotate it
docker swarm unlock-key --rotate

📦 Service Management

# create a service
docker service create --name <service> <image>

# create a service with a fixed replica count
docker service create --name <service> --replicas <n> <image>

# create a global service: one task on every node
docker service create --name <service> --mode global <image>

# list services
docker service ls

# filter the list
docker service ls --filter name=<service>

# readable service definition
docker service inspect <service> --pretty

# tasks and the nodes they run on
docker service ps <service>

# change the replica count
docker service scale <service>=<n>

# scale several services at once
docker service scale <svc-a>=3 <svc-b>=5

# roll out a new image
docker service update --image <new-image> <service>

# redistribute tasks without changing anything
docker service update --force <service>

# go back to the previous definition
docker service rollback <service>

# follow the logs of every task
docker service logs -f <service>

# recent output only
docker service logs --tail 100 --since 10m <service>

# remove a service
docker service rm <service>

Changing a running service

# add or replace an environment variable
docker service update --env-add KEY=value <service>

# remove one
docker service update --env-rm KEY <service>

# publish another port
docker service update --publish-add 8080:80 <service>

# stop publishing it
docker service update --publish-rm 8080 <service>

# attach a volume
docker service update --mount-add type=volume,src=data,dst=/data <service>

# detach it again, by target path
docker service update --mount-rm /data <service>

# add a placement constraint
docker service update --constraint-add 'node.labels.env==prod' <service>

# at most one task per node
docker service update --replicas-max-per-node 1 <service>

# change the resource limits
docker service update --limit-memory 512m --reserve-memory 256m <service>

🔁 Replicas & Modes

Replicas define how many instances of a service run across the swarm. Swarm spreads them over the available nodes and reschedules them when a task or a node fails.

ModeFlagBehaviour
Replicated--mode replicated (default)Run exactly --replicas tasks, anywhere they fit
Global--mode globalExactly one task per eligible node
Replicated job--mode replicated-jobRun --replicas tasks to completion
Global job--mode global-jobRun one task to completion on every node
# five tasks
docker service create --replicas 5 --name myapp myimage

# scale the same service up to ten
docker service scale myapp=10

# one per node
docker service create --mode global --name agent myimage

# batch job: 20 tasks in total, 4 running at a time
docker service create --mode replicated-job --replicas 20 \
  --max-concurrent 4 --name migrate myimage

🐝 Tasks & Containers

A task is a single container slot managed by Swarm; it maps to one container on one node and is never moved — a failed task is replaced by a new one.

# tasks of a service, with their node
docker service ps <service>

# full error messages — start debugging here
docker service ps --no-trunc <service>

# hide the terminated tasks
docker service ps -f "desired-state=running" <service>

# tasks on one node
docker node ps <node>

# containers on the current node
docker container ls

# low-level details of one container
docker container inspect <container-id>
Task stateMeaning
NEW / PENDINGAccepted, waiting for a node that satisfies the constraints
ASSIGNED / PREPARINGSent to a node, image being pulled
STARTING / RUNNINGThe container is starting or up
COMPLETEA job task finished successfully
FAILEDThe container exited with an error
SHUTDOWNStopped on purpose (update, drain, scale down)
REJECTEDThe node refused the task (missing image, bad mount)
ORPHANEDThe node has been unreachable too long

🎯 Placement

docker service create --constraint 'node.role==worker' --name web nginx

docker service create --constraint 'node.labels.env==production' --name api myimage

docker service create --placement-pref 'spread=node.labels.zone' --name web nginx

docker service create --replicas-max-per-node 1 --name web nginx
ExpressionMatches
node.rolemanager or worker
node.hostnameThe node’s hostname
node.idThe node’s ID
node.labels.<key>A label set with docker node update --label-add
engine.labels.<key>A label set in the engine’s daemon.json
node.platform.os / node.platform.archlinux, windows / amd64, arm64

🌐 Networking

An overlay network is a virtual network spanning multiple Docker hosts. Containers on different nodes talk as if they were on the same L2 segment, with DNS-based service discovery built in.

# create an overlay network
docker network create --driver overlay <network>

# encrypt the data plane too
docker network create --driver overlay --opt encrypted <network>

# let standalone containers join
docker network create --driver overlay --attachable <network>

# list networks
docker network ls

# attached services and containers
docker network inspect <network>

# attach at creation time
docker service create --name <service> --network <network> <image>

# attach an existing service
docker service update --network-add <network> <service>

# detach it again
docker service update --network-rm <network> <service>

Publishing ports

# routing mesh (ingress)
docker service create --publish 8080:80 --name web nginx

# host port, no mesh
docker service create --publish mode=host,target=80,published=8080 --name web nginx
ModeBehaviour
ingress (default)Every node accepts the port and load-balances to the tasks
hostThe port is published only on nodes running a task — no mesh, no extra hop

🔄 Rolling Updates & Rollback

docker service create \
  --name web \
  --replicas 5 \
  --update-parallelism 2 \
  --update-delay 10s \
  --update-failure-action rollback \
  --update-monitor 30s \
  nginx:1.25

# trigger the rolling update
docker service update --image nginx:1.26 web

# return to the previous definition
docker service rollback web
FlagDescription
--update-parallelismHow many tasks are updated at once (0 = all)
--update-delayPause between batches
--update-failure-actionpause (default), continue or rollback
--update-monitorHow long a task is watched before it counts as healthy
--update-orderstop-first (default) or start-first
--rollback-parallelismSame knobs for the rollback path (--rollback-delay, --rollback-monitor, --rollback-failure-action, --rollback-order)

🩺 Health Checks

Swarm reschedules a task as soon as its health check fails, so an update never marks a broken image as healthy.

docker service create \
  --name api \
  --health-cmd 'curl -f http://localhost:8080/health || exit 1' \
  --health-interval 10s \
  --health-timeout 3s \
  --health-retries 3 \
  --health-start-period 30s \
  myimage

🔐 Secrets

Secrets are encrypted in the Raft log and mounted into the container as in-memory files under /run/secrets/.

# create from a file
docker secret create db_password ./db_password.txt

# create from stdin
echo "s3cr3t" | docker secret create db_password -

# list secrets
docker secret ls

# metadata only — never the value
docker secret inspect db_password

# attach a secret; it appears at /run/secrets/db_password
docker service create --name db --secret db_password postgres:16

# ...or mount it at a custom path with a fixed mode
docker service create --name db \
  --secret source=db_password,target=/run/secrets/pg_pw,mode=0400 postgres:16

# only possible when no service uses it
docker secret rm db_password

Rotating a secret — create the new one, swap it, then drop the old one:

echo "n3w-s3cr3t" | docker secret create db_password_v2 -

docker service update \
  --secret-rm db_password \
  --secret-add source=db_password_v2,target=db_password \
  db

docker secret rm db_password

🔑 Configs

Configs work like secrets but are not encrypted at rest — use them for non-sensitive files such as nginx.conf.

# create a config
docker config create my_nginx_conf ./nginx.conf

# list configs
docker config ls

# metadata and the stored content
docker config inspect my_nginx_conf

# mount a config at a specific path
docker service create \
  --name web \
  --config source=my_nginx_conf,target=/etc/nginx/nginx.conf \
  nginx

# swap in a new version of the config
docker service update \
  --config-rm my_nginx_conf \
  --config-add source=my_nginx_conf_v2,target=/etc/nginx/nginx.conf \
  web

# only when no service uses it
docker config rm my_nginx_conf

📚 Stacks

A stack is a group of related services deployed together from a Compose file — the standard production workflow for Swarm.

# deploy or update a stack
docker stack deploy -c stack.yaml mystack

# pass your registry credentials along
docker stack deploy -c stack.yaml --with-registry-auth mystack

# remove services no longer in the file
docker stack deploy -c stack.yaml --prune mystack

# list stacks
docker stack ls

# services of a stack
docker stack services mystack

# tasks of a stack
docker stack ps mystack

# tasks of a stack, with full error messages
docker stack ps --no-trunc mystack

# print the merged, resolved file
docker stack config -c stack.yaml

# remove the whole stack
docker stack rm mystack

Stacks honour the deploy: block of the Compose file (replicas, placement, resources, restart policy, update config). build:, top-level restart: and depends_on: are ignored.

🧯 Troubleshooting

# the error column tells you why a task died
docker service ps --no-trunc <service>

# application output of every task
docker service logs --tail 200 <service>

# is a node Down or Unreachable?
docker node ls

# what was actually deployed
docker service inspect --pretty <service>

# live stream of orchestration events
docker events --filter type=service
SymptomUsual cause
Task stuck in PENDINGNo node satisfies the constraints, ports, or resource reservations
no suitable nodePlacement constraint or --replicas-max-per-node cannot be met
Task loops FAILED → STARTINGThe container exits immediately — read docker service logs
REJECTED with an image errorThe image is missing on that node; use --with-registry-auth for private registries
Service unreachable from other nodesPorts 7946/4789 blocked, or the services are not on the same overlay network

🛠 Common Flags Reference

docker service create / docker service update

FlagDescription
--replicasNumber of tasks for a replicated service
--modereplicated (default), global, replicated-job, global-job
--publishPort mapping (<published>:<target>, or mode=host,...)
--mountAttach a volume or bind mount
--networkAttach to an overlay network
--constraintPlacement rule, e.g. node.role==worker
--placement-prefSpread tasks, e.g. spread=node.labels.zone
--replicas-max-per-nodeCap the tasks of this service per node
--limit-cpu / --limit-memoryHard resource limits
--reserve-cpu / --reserve-memoryResources reserved for scheduling
--secret / --configAttach a secret or a config
--env / --env-fileEnvironment variables
--restart-conditionnone, on-failure or any (default)
--health-cmd and friendsOverride the image health check
--with-registry-authForward registry credentials to the nodes

📄 Example: Production-style Web Service

docker service create \
  --name web \
  --replicas 3 \
  --publish 80:80 \
  --network webnet \
  --constraint 'node.role==worker' \
  --constraint 'node.labels.env==production' \
  --placement-pref 'spread=node.labels.zone' \
  --update-parallelism 1 \
  --update-delay 10s \
  --update-failure-action rollback \
  --update-order start-first \
  --limit-memory 512m \
  --reserve-memory 256m \
  --restart-condition any \
  nginx:1.25

📚 Resources

  • Swarm mode overview
  • Swarm services
  • Manage secrets
  • Manage configs
  • Stack file reference (Compose Spec deploy:)
  • docker service create CLI reference