开发常用的docker镜像

主要用于开发阶段,不涉及生产环境配置,无权限自行添加sudo

Redis

  1. 获取镜像
    1
    docker pull redis
  2. 运行Redis
    1
    docker run -p 6379:6379 -d redis:lastes redis-server

Elasticsearch(集群)

  1. 说明:
    • 这里这里使用的是Elasticsearch 7.3.0版本
    • 集群一共有3个Container,一个Master,两个Slave
    • 配置文件中的192.168.2.58为对应节点的IP地址
    • 具体配置:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      Elasticsearch集群
      |------ Master
      |--- 端口:9500
      |--- TCP端口:9300
      |--- 配置文件目录:~/var/elasticsearch/config/master/elasticsearch.yml
      |--- 共享卷目录:~/var/elasticsearch/config/master/data
      |------ Slave1
      |--- 端口:9600
      |--- TCP端口:9301
      |--- 配置文件目录:~/var/elasticsearch/config/slave1/elasticsearch.yml
      |--- 共享卷目录:~/var/elasticsearch/config/slave1/data
      |------ Slave2
      |--- 端口:9700
      |--- TCP端口:9302
      |--- 配置文件目录:~/var/elasticsearch/config/slave2/elasticsearch.yml
      |--- 共享卷目录:~/var/elasticsearch/config/slave2/data
  2. 获取镜像
    1
    docker pull elasticsearch:7.3.0
  3. 在宿主机创建各个节点的elasticsearch.yml配置文件,具体内容如下:
    • Master节点,配置文件路径:~/var/elasticsearch/config/master/elasticsearch.yml
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      # 设置支持Elasticsearch-Head
      http.cors.enabled: true
      http.cors.allow-origin: "*"
      # 设置集群Master配置信息
      cluster.name: myEsCluster
      # 节点的名字,一般为Master或者Slave
      node.name: master
      # 节点是否为Master,设置为true的话,说明此节点为Master节点
      node.master: true
      # 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问)
      network.host: 0.0.0.0
      # 设置对外服务的Http端口,默认为 9200,可以修改默认设置
      http.port: 9500
      # 设置节点间交互的TCP端口,默认是9300
      transport.tcp.port: 9300
      # 手动指定可以成为Master的所有节点的Name或者IP,这些配置将会在第一次选举中进行计算
      cluster.initial_master_nodes: ["master"]
      # 集群发现节点信息,一般为其他节点IP加交互端口,这里一般填主机IP
      discovery.seed_hosts: ["192.168.2.58:9301", "192.168.2.58:9302"]
    • Slave1节点,配置文件路径:~/var/elasticsearch/config/slave1/elasticsearch.yml
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      # 设置集群Slave配置信息
      cluster.name: myEsCluster
      # 节点的名字,一般为Master或者Slave
      node.name: slave1
      # 节点是否为Master,设置为true的话,说明此节点为master节点
      node.master: false
      # 设置对外服务的Http端口,默认为 9200,可以修改默认设置
      http.port: 9600
      # 设置节点间交互的TCP端口,默认是9300
      transport.tcp.port: 9301
      # 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问)
      network.host: 0.0.0.0
      # 集群发现节点信息,一般为其他节点IP加交互端口,这里一般填主机IP
      discovery.seed_hosts: ["192.168.2.58:9300", "192.168.2.58:9302"]
    • Slave2节点,配置文件路径:~/var/elasticsearch/config/slave2/elasticsearch.yml
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      # 设置集群Slave配置信息
      cluster.name: myEsCluster
      # 节点的名字,一般为Master或者Slave
      node.name: slave2
      # 节点是否为Master,设置为true的话,说明此节点为master节点
      node.master: false
      # 设置对外服务的Http端口,默认为 9200,可以修改默认设置
      http.port: 9700
      # 设置节点间交互的TCP端口,默认是9300
      transport.tcp.port: 9302
      # 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问)
      network.host: 0.0.0.0
      # 集群发现节点信息,一般为其他节点IP加交互端口,这里一般填主机IP
      discovery.seed_hosts: ["192.168.2.58:9300", "192.168.2.58:9301"]
  4. 创建3个节点的data文件夹
    1
    2
    3
    ~/var/elasticsearch/config/master/data
    ~/var/elasticsearch/config/slave1/data
    ~/var/elasticsearch/config/slave2/data
  5. 运行节点
    • 运行Master节点
      1
      docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -v ~/var/elasticsearch/config/master/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/var/elasticsearch/config/master/data:/usr/share/elasticsearch/data --name esMaster -p 9500:9500 -p 9300:9300 elasticsearch:7.3.0
    • 运行Slave1节点
      1
      docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -v ~/var/elasticsearch/config/slave1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/var/elasticsearch/config/slave1/data:/usr/share/elasticsearch/data --name esSlave1 -p 9600:9600 -p 9301:9301 elasticsearch:7.3.0
    • 运行Slave2节点
      1
      docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -v ~/var/elasticsearch/config/slave2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/var/elasticsearch/config/slave2/data:/usr/share/elasticsearch/data --name esSlave2 -p 9700:9700 -p 9302:9302 elasticsearch:7.3.0
  6. 检查运行状态
    • 运行docker ps查看正在运行的Container,确保以上3个容器正常运行
    • 访问http://127.0.0.1:9500/_cat/nodes?v查看是否有3个节点信息,如果节点运行正常,应该有如下信息
      1
      2
      3
      4
      ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
      172.17.0.2 32 96 70 3.03 0.82 0.28 di - slave1
      172.17.0.3 30 96 70 3.03 0.82 0.28 di - slave2
      172.17.0.4 33 96 70 3.03 0.82 0.28 dim * master
  7. 安装Elasticsearch-Head
    1
    docker run -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5
    运行成功后浏览器访问链接:http://127.0.0.1:9100,将里面的连接地址修改为:http://localhost:9500,保存即可看到3个节点的集群信息
  8. 安装IK分词软件
    • 这部分操作3个节点均需要操作一边
    • ElasticSearch版本为7.3.0,对应IK分词版本为7.3,下载链接IK分词
    • 具体操作就是将下载下来的包放在各个节点的共享卷里,然后进入ES容器内命令行,解压并将文件拷贝到plugins文件夹中,重启容器

RabbitMq

  1. 获取镜像
    1
    docker pull rabbitmq:management
  2. 运行镜像,设置用户名密码(admin/admin)
    1
    docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
  3. 进入管理界面 http://localhost:15672

SqlServer 2017

  1. 获取镜像
    1
    docker pull mcr.microsoft.com/mssql/server:2017-latest
  2. 运行镜像,设置SA密码为Today_is_20200328
    1
    docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Today_is_20200328" -p 1433:1433 --name mssql -d mcr.microsoft.com/mssql/server:2017-latest