当前位置:   article > 正文

Docker常用的部署(Mysql | Nginx | RabbitMQ | Seata | ES)

Docker常用的部署(Mysql | Nginx | RabbitMQ | Seata | ES)

1.部署MySQL 

  1. docker run -d \
  2. --name mysql \
  3. -p 3306:3306 \
  4. -e TZ=Asia/Shanghai \
  5. -e MYSQL_ROOT_PASSWORD=123 \
  6. -v ./mysql/data:/var/lib/mysql \
  7. -v ./mysql/conf:/etc/mysql/conf.d \
  8. -v ./mysql/init:/docker-entrypoint-initdb.d \
  9. mysql

2.部署Nginx

  1. docker run -d \
  2. --name nginx \
  3. -p 18080:18080 \
  4. -p 18081:18081 \
  5. -v /root/nginx/html:/usr/share/nginx/html \
  6. -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \
  7. --network hm\
  8. nginx

4.部署rabbitMQ

  1. docker run \
  2. -e RABBITMQ_DEFAULT_USER=itcast \
  3. -e RABBITMQ_DEFAULT_PASS=123321 \
  4. --name mq \
  5. --hostname mq1 \
  6. -p 15672:15672 \
  7. -p 5672:5672 \
  8. -d \
  9. rabbitmq:3-management

5.部署Seata

需要在seata文件夹中根据实际情况在application.yml中修改Mysql的配置 

部署命令(需要根据具体情况修改SEATA_IP为自己的虚拟机IP地址,network为所连接的网络)

  1. docker run --name seata \
  2. -p 8099:8099 \
  3. -p 7099:7099 \
  4. -e SEATA_IP=192.168.92.136 \
  5. -v ./seata:/seata-server/resources \
  6. --privileged=true \
  7. --network hm-net \
  8. -d \
  9. seataio/seata-server:1.5.2

6.部署MongoDB

  1. ## 通过docker安装MongoDB
  2. ~~~shell
  3. #拉取镜像
  4. docker pull mongo:4.0.3
  5. #创建容器
  6. docker create --name mongodb-server -p 27017:27017 -v mongodb-data:/data/db mongo:4.0.3 --auth
  7. #启动容器
  8. docker start mongodb-server
  9. #进入容器
  10. docker exec -it mongodb-server /bin/bash
  11. #进入admin数据库
  12. mongo
  13. use admin
  14. #添加管理员,其拥有管理用户和角色的权限
  15. db.createUser({ user: 'root', pwd: 'root', roles: [ { role: "root", db: "admin" } ] })
  16. #退出后进行认证
  17. #进行认证
  18. mongo -u "root" -p "root" --authenticationDatabase "admin"
  19. #通过admin添加普通用户
  20. use admin
  21. db.createUser({ user: 'house', pwd: 'oudqBFGmGY8pU6WS', roles: [ { role: "readWrite", db: "house" } ] });
  22. #通过tanhua用户登录进行测试
  23. mongo -u "house" -p "oudqBFGmGY8pU6WS" --authenticationDatabase "admin"
  24. #发现可以正常进入控制台进行操作

7.部署ElasticSearch和kibana、Ik分词器

要将ElasticSearch和kibana两个放入一个网络容器中

ElasticSearch:

  1. docker run -d \
  2. --name es \
  3. -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  4. -e "discovery.type=single-node" \
  5. -v es-data:/usr/share/elasticsearch/data \
  6. -v es-plugins:/usr/share/elasticsearch/plugins \
  7. --privileged \
  8. --network es-net \
  9. -p 9200:9200 \
  10. -p 9300:9300 \
  11. elasticsearch:7.12.1

 kibana:

  1. docker run -d \
  2. --name kibana \
  3. -e ELASTICSEARCH_HOSTS=http://es:9200 \
  4. --network=es-net \
  5. -p 5601:5601 \
  6. kibana:7.12.1

IK分词器

进入容器内部:

docker exec -it elasticsearch /bin/bash

在线下载并安装

  1. ./bin/elasticsearch-plugin install
  2. https://github.com/medcl/elasticsearch-analysis-
  3. ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

 退出

exit

 重启后生效

docker restart elasticsearch

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/622503
推荐阅读
相关标签
  

闽ICP备14008679号