As a DevOps engineer, I'll provide a complete setup for integrating Consul with Docker Swarm for service discovery, along with a practical example scenario.
[Docker Swarm Cluster]
│
├── [Manager Nodes] - Run Consul server agents
services: | |
gitlab-runner: | |
restart: unless-stopped | |
image: gitlab/gitlab-runner:alpine | |
volumes: | |
- ./config.toml:/etc/gitlab-runner/config.toml:ro | |
- /var/run/docker.sock:/var/run/docker.sock |
sudo nano /etc/systemd/resolved.conf | |
# [Resolve] | |
DNS=217.218.127.127 217.218.155.155 | |
FallbackDNS=10.70.95.162 | |
sudo systemctl restart systemd-resolved | |
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf |
As a DevOps engineer, I'll provide a complete setup for integrating Consul with Docker Swarm for service discovery, along with a practical example scenario.
[Docker Swarm Cluster]
│
├── [Manager Nodes] - Run Consul server agents
services: | |
victorialogs: | |
image: victoriametrics/victoria-logs:v1.15.0-victorialogs | |
command: | |
- "--storageDataPath=/victoria-logs-data" | |
- "--httpListenAddr=:9428" | |
- "--retentionPeriod=5d" | |
- "--retention.maxDiskSpaceUsageBytes=2Gib" | |
volumes: | |
- victorialogs-data:/victoria-logs-data |
#!/bin/sh | |
set -x | |
nerdctl pull --unpack=false reg.example.ir/nginx:encrypted | |
nerdctl image decrypt --key=dockerkey.pem reg.example.ir/nginx:encrypted reg.example.ir/nginx:decrypted |
services: | |
nginx: | |
image: nginx:1.27 | |
restart: always | |
#ports: | |
# - "80:80" | |
volumes: | |
- ./conf.d/tgapi.conf:/etc/nginx/conf.d/tgapi.conf | |
# - ./conf.d/nginx.conf:/etc/nginx/nginx.conf | |
# - ./log:/var/log/nginx |
services: | |
phpmyadmin: | |
image: phpmyadmin/phpmyadmin:5.2 | |
container_name: phpmyadmin | |
environment: | |
PMA_HOST: db | |
PMA_PORT: 3306 | |
PMA_ARBITRARY: 0 | |
depends_on: | |
- db |
Inspired By: grafana/loki#333
version: "3"
networks:
loki: