• 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管理工具连过来了

    5、这里是使用的一个docker stack运行的mysql,可以用以下命令查看所有的docker stack:

    docker stack ls

    当然,这个stack里,目前只配置了运行一个mysql容器,可以 docker ps 查看所有运行的容器:

    可以看到运行中的容器,在没有指定name的情况下,生成的name是以运行docker stack时指定的stack的name开头的。

    6、这种情况下,虽然也可以使用docker stop来停止这个mysql容器,不过,停止了之后,马上就又有一个容器起来了,应该是docker stack自动起的:

    这种情况下,如果再手动把刚刚关掉的容器启动,操作系统会卡一会,我猜是因为同时有两个容器,挂载的数据卷是同一个目录所以有冲突,不过docker stack会马上自动关掉一个,我尝试时是刚刚启动的这个被docker stack被关掉了,不过容器还在。

    实际上是不应该这样操作的。

    应该使用如下命令来关闭 mysql 服务:

    docker stack rm mysqlstack

    这样的话,刚刚看到的两个mysql 容器都被删除了。

    顺便说一下,要在此基础上安装wordpress的话,当然,这是本地的一个虚拟机:

    docker run --name some-wordpress -e WORDPRESS_DB_HOST=192.168.1.8:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 -d -p 8090:80 wordpress

  • 相关阅读:
    NLP Best Practices
    Bert模型精简方法
    delphi:对象的创建(create)与释放(free/destory)(转载)
    delphi:Format格式化函数(转载)
    delphi:destroy, free, freeAndNil, release用法和区别(转载)
    delphi:function ParamStr(i:LongInt):string
    jquery:上传文件
    bootstrapValidator中用ajax校验
    jquery中实时监控文本框的变化
    jquery判断checkbox是否选中
  • 原文地址:https://www.cnblogs.com/lihan829/p/10241302.html
Copyright © 2020-2023  润新知