Anda perlu ada 3 Node dan ketiga tiganya perlu install docker dan docker compose..
Rujuk sini https://luqmannordin.com/setup-docker-swarm-dan-portainer-pada-3-node/
Masuk Portainer > Stacks > Add Stacks > Editor
Copy code di bawah letak dalam editor
version: "3.7" services: dbmysql2: image: mysql:latest volumes: - /mnt/mysql2:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: luqman1234 MYSQL_DATABASE: luqman MYSQL_USER: luqman MYSQL_PASSWORD: luqman1234 ports: - "12346:3306" expose: - "3306" deploy: placement: constraints: [node.role == manager] replicas: 1 update_config: parallelism: 2 delay: 10s restart_policy: condition: on-failure #deploy: #optinal kalau tak nak replicate mode # mode: global #optinal kalau tak nak replicate mode volumes: mysql2: driver: "local"
Klik Deploy the stack
Dah boleh akses Mysql pada 3 Ip tapi menggunakan port 12345
node1 contoh node1 192.168.1.45:12345
node1 192.168.1.45:12345
node2 192.168.1.44:12345
node3 192.168.1.48:12345
Example for maria db version: "3.7" services: maindb: image: mariadb volumes: - /mnt/mariadb3:/var/lib/mysql environment: - MYSQL_USER=luqman - MYSQL_DATABASE=main - MYSQL_PASSWORD=luqman1234 - MYSQL_ROOT_PASSWORD=luqman1234 command: ["mysqld", "--wait_timeout=28800", "--interactive_timeout=28800", "--max_allowed_packet=256M"] ports: - "12345:3306" expose: - "3306" deploy: placement: constraints: [node.role == manager] replicas: 1 update_config: parallelism: 2 delay: 10s restart_policy: condition: on-failure volumes: mariadb: driver: "local"