docker部署elk mysql redis rabbitmq mongo nacos minio jaeger
来源:原创
时间:2025-05-28
作者:脚本小站
分类:SHELL
创建目录:
mkdir -p \ /mydata/elasticsearch/plugins \ /mydata/elasticsearch/data \ /mydata/logstash \ /mydata/mysql/data/db \ /mydata/mysql/data/conf \ /mydata/mysql/log \ /mydata/redis/data \ /mydata/nginx/conf \ /mydata/nginx/html \ /mydata/nginx/log \ /mydata/rabbitmq/data \ /mydata/rabbitmq/log \ /mydata/mongo/db \ /mydata/minio/data \ /mydata/minio/config
docker部署elk:
docker network create elk docker run -d --name elasticsearch \ -p 9200:9200 -p 9300:9300 \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -e "cluster.name=elasticsearch" \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \ --user root \ --network elk \ elasticsearch:7.17.3 docker run -d --name logstash \ -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \ -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \ -e TZ=Asia/Shanghai \ --network elk \ logstash:7.17.3 docker run -d --name kibana \ -p 5601:5601 \ -e "elasticsearch.hosts=http://es:9200" \ --network elk \ kibana:7.17.3 # 安装ik分词器 docker exec -it elasticsearch bash bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.17.3 bin/elasticsearch-plugin list
docker部署mysql:
docker run -d --name mysql \ -p 3306:3306 \ -v /mydata/mysql/data/db:/var/lib/mysql \ -v /mydata/mysql/data/conf:/etc/mysql/conf.d \ -v /mydata/mysql/log:/var/log/mysql \ -e MYSQL_ROOT_PASSWORD=root \ --restart=always \ mysql:5.7 \ mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker部署redis:
docker run -d --name redis \ --privileged=true \ # centos7系统下加上此选项 -p 6379:6379 \ -v /mydata/redis/data:/data \ redis:7 \ redis-server --appendonly yes
docker部署rabbitmq:
docker run -d --name rabbitmq \ --privileged=true \ # centos7系统下加上此选项 -p 5672:5672 -p 15672:15672 \ -v /mydata/rabbitmq/data:/var/lib/rabbitmq \ -v /mydata/rabbitmq/log:/var/log/rabbitmq \ rabbitmq:3.9-management # 添加用户并设置权限 docker exec -it rabbitmq bash rabbitmqctl add_user mall mall rabbitmqctl add_vhost /mall rabbitmqctl set_permissions -p /mall mall ".*" ".*" ".*" rabbitmqctl list_vhosts
docker部署mongo:
docker run -d --name mongo \ -p 27017:27017 \ -v /mydata/mongo/db:/data/db \ mongo:4
docker部署nacos:
docker run -d --name nacos-registry \ -p 8848:8848 \ -p 9848:9848 \ -e MODE=standalone \ nacos/nacos-server:v2.1.0
docker部署minio:
mkdir /mydata/minio/data -pv mkdir /mydata/minio/config -pv docker run -p 9000:9000 -p 9090:9090 \ --name minio \ -d --restart=always \ -e "MINIO_ACCESS_KEY=minioadmin" \ -e "MINIO_SECRET_KEY=minioadmin" \ -v /mydata/minio/data:/data \ -v /mydata/minio/config:/root/.minio \ minio/minio server \ /data --console-address ":9090" -address ":9000" # 创建bucket并设置为public docker exec -it minio bash mc alias set myminio http://10.201.79.12:9000 minioadmin minioadmin mc mb myminio/mall mc anonymous set public myminio/mall mc anonymous get myminio/mall mc ls myminio mc ls / mc ls /mall mc ls myminio/ mc ls myminio/mall/
jaeger:
docker run -d --name jaeger \ -e SPAN_STORAGE_TYPE=elasticsearch \ -e ES_SERVER_URLS=http://192.168.0.113:9200 \ -p 5775:5775/udp \ -p 6831:6831/udp \ -p 6832:6832/udp \ -p 5778:5778 \ -p 16686:16686 \ -p 14268:14268 \ -p 9411:9411 \ -p 4317:4317 \ jaegertracing/all-in-one:latest # agent java -javaagent:/opt/agents/opentelemetry-javaagent.jar \ -Dotel.service.name=OrderService \ -Dotel.traces.exporter=jaeger \ -Dotel.exporter.jaeger.endpoint=http://192.168.0.113:14250 \ -Dotel.traces.sampler=parentbased_traceidratio \ -Dotel.traces.sampler.arg=1.0 \ -Dotel.metrics.exporter=none \ -jar app.jar # or # Dockerfile: FROM openjdk:17 WORKDIR /app COPY mall-admin-1.0-SNAPSHOT.jar /app/app.jar COPY opentelemetry-javaagent.jar /app/opentelemetry-javaagent.jar EXPOSE 8080 ENTRYPOINT ["java", "-javaagent:/app/opentelemetry-javaagent.jar", "-jar", "app.jar"] # deployment env - name: OTEL_EXPORTER_OTLP_PROTOCOL value: "grpc" - name: OTEL_EXPORTER_OTLP_ENDPOINT value: "http://192.168.0.113:4317" - name: OTEL_SERVICE_NAME value: "mall-admin" - name: OTEL_TRACES_SAMPLER value: "parentbased_traceidratio" - name: OTEL_TRACES_SAMPLER_ARG value: "1.0" - name: OTEL_METRICS_EXPORTER value: "none"