通过Swarm的方式使用Docker Compose模板搭建MySQL数据库

  • Post author:
  • Post category:mysql


要通过Swarm的方式使用Docker Compose模板搭建MySQL数据库,需要以下步骤:



1.编写docker-compose.yml文件,指定MySQL服务的配置,比如:

version: "3"
services:
  mysql:
    image: mysql:8.0.12
    hostname: mysql
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: xxxxxxxxxxxxxxxxxxxxxx
    networks:
      - my
    volumes:
      - /root/mysql/data:/var/lib/mysql
      - /root/mysql/config:/etc/mysql/mysql.conf.d
    ports:
      - "3306:3306"
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        condition: on-failure
        delay: 1s
        max_attempts: 5
      resources:
        limits:
          cpus: '0.50'
          memory: 700M
        reservations:
          cpus: '0.25'
          memory: 100M
networks:
  my:
    external: true

这个docker-compose.yml文件可以用于搭建一个MySQL 8.0.12服务,并且通过networks指定了my网络来与其他服务进行通信。其中,各部分的含义如下:

version: “3”:指定了docker-compose文件的版本号为3。

services:定义了服务部分,这里只定义了一个mysql服务。

mysql:mysql服务的名称。

image: mysql:8.0.12:指定了使用MySQL 8.0.12的镜像。

hostname: mysql:设置MySQL服务的主机名为mysql。

environment:指定了MySQL服务的环境变量,包括时区和root用户的密码。

networks:指定了服务所在的网络,这里使用了my网络。

volumes:指定了MySQL服务的数据卷和配置文件卷。

ports:将MySQL服务的端口映射到主机的3306端口。

deploy:指定了服务的部署规则,包括副本数量、重启策略和资源限制。

networks:定义了my网络,并指定了它是外部网络。

需要注意的是,这个docker-compose.yml文件中MySQL的数据卷和配置文件卷路径是在宿主机上的/root/work/mysql/data和/root/work/mysql/config,如果这个路径不存在,则需要手动创建这个目录。同时,这个文件中的资源限制也可以根据实际情况进行调整,确保MySQL服务的稳定运行。



2.使用docker swarm命令启动swarm集群:

docker swarm init



3.在swarm集群中创建一个新的Docker stack:

docker stack deploy -c docker-compose.yml mysql



4.等待MySQL服务启动完成后,可以通过MySQL客户端连接到MySQL服务:

mysql -u root -p -h 127.0.0.1



5.如果需要扩展MySQL服务,可以使用docker service命令来进行扩展:

docker service scale mysql_db=3

以上就是通过Swarm的方式使用Docker Compose模板搭建MySQL数据库的步骤



版权声明:本文为qq_30503389原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。