docker部署mysql5.6.40

基本是照着这个做的:https://www.cnblogs.com/straycats/p/9251571.html

默认登录进来在/root目录,直接新建的目录 /root/mysql,感觉有点不合理,暂时没改

1、初始化docker swarm

docker swarm init

2、在刚刚建立的目录下新建一个data目录,以及一个文件:mysql.yml

version: '3.6'
services:
  mysql:
    image: mysql:5.6.40
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - /root/mysql/data:/var/lib/mysql
    deploy:
      replicas: 1
      restart_policy:
        condition: any
      resources:
        limits:
          cpus: "0.2"
          memory: 512M
      update_config:
        parallelism: 1 # 每次更新1个副本
        delay: 5s # 每次更新间隔 
        monitor: 10s # 单次更新多长时间后没有结束则判定更新失败
        max_failure_ratio: 0.1 # 更新时能容忍的最大失败率
        order: start-first # 更新顺序为新任务启动优先
    ports:
      - 3306:3306
    networks:
      - myswarm-net

networks:
  myswarm-net:

3、运行

docker stack deploy -c mysql.yml mysqlstack

印象中 docker stack 工具是和docker一起安装到系统的

4、还需要配置mysql允许远程访问(完全copy过来的,仅以备忘):

docker ps
docker exec -it 0d66abc8ce32 /bin/bash
mysql -uroot -p
mysql> use mysql;
mysql> grant all privileges  on *.* to root@'%' identified by "123456";
mysql> flush privileges;
mysql> exit
exit

然后在别的机器就可以用mysql管理工具连过来了

猜你喜欢

转载自www.cnblogs.com/lihan829/p/10241302.html