zoukankan      html  css  js  c++  java
  • docker 部署Mysql Redis RabbitMQ

    先介绍利用的两个数据卷挂载的规则,这对于理解挂载mysql数据库存储非常有帮助。

    1. 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。
    2. 如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据。如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。

    mysql数据库物理存储位置/var/lib/mysql

    MySQL:

    拉取镜像

    $docker pull mysql:5.7
    

    运行容器

    $docker volume create mysql
    $docker run -d --name mysql -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7
    
    -d : --detach,后台运行。
    --name : 为你的镜像创建一个别名,该别名用于更好操作。
    -p : 映射端口,一般我们会将默认端口进行更改,避免与本机的mysql端口冲突,如果你宿主机有mysql,请更改端口,如 -p 3307:3306。
    -e : 环境变量。为mysql的root用户设置密码为root。
    -v : 指定数据卷,意思就是将mysql容器中的/var/lib/mysql(这个是数据库所有数据信息文件)映射到宿主机/data/mysql里面。
    

    允许远程连接
    连接mysql,进行设置即可

    $docker exec -it mysql /bin/bash
    $mysql -u root -p
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    

    最后退出即可
    这里又不得不提数据卷的特性,生命周期独立于容器,意味着我们可以创建新的mysql容器,只需要指定同一个数据卷就可以了。
    至此简单的利用docker部署了一个简单的mysql容器,如果需要更个性化的conf,配置即可。

    redis:

    $ docker pull redis
    $ docker run --name redis -d -p 6379:6379 redis
    

    持久存储

    $ docker run --name myredis -d -p 6379:6379 redis redis-server --appendonly yes
    

    默认数据存储位置在 VOLUME/data。可以使用 --volumes-from some-volume-container 或 -v /docker/host/dir:/data 将数据存放到本地。

    # 方案1
    $ docker volume create redis
    $ docker run --name myredis -d -p 6379:6379 -v redis:/data redis redis-server --appendonly yes
    # 方案2
    $ docker run --name myredis -d -p 6379:6379 -v /docker/host/dir:/data redis redis-server --appendonly yes
    

    RabbitMQ

    rabbitmq:
      image: rabbitmq:3.7.15-management
      container_name: rabbitmq
      volumes:
        - /root/mydata/rabbitmq/data:/var/lib/rabbitmq #数据文件挂载
        - /root/mydata/rabbitmq/log:/var/log/rabbitmq #日志文件挂载
      ports:
        - 5672:5672
        - 15672:15672
    
  • 相关阅读:
    IDEA Inspections详解
    IDEA 阿里编码规范插件
    IDEA Save Actions插件
    IDEA Lombok插件
    设计模式-简单工厂模式与工厂模式
    DAO设计模式
    Jcrop+strut2+jsp实现图片剪切
    Spring的Bean的作用域
    Spring的事务机制
    windows 下 Redis 主从 读写分离
  • 原文地址:https://www.cnblogs.com/zenan/p/10875316.html
Copyright © 2011-2022 走看看