docker安装redis mysql elasticsearch iotdb kibana nginx jdk

381 阅读1分钟

MySQL安装

创建数据挂载目录

mkdir -p $PWD/mysql/conf && mkdir -p $PWD/mysql/data
vim $PWD/mysql/conf/my.cnf
docker run --name mysql_ydzc --restart always --privileged=true -p 3306:3306 -v $PWD/mysql/log:/var/log/mysql -v $PWD/mysql/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="Passwordny01" -e MYSQL_USER="ydzc" -e MYSQL_PASSWORD="Passwordny01" -d mysql:8.0

安装redis

mkdir -p $PWD/redis/conf && mkdir -p $PWD/redis/data
​
touch $PWD/redis/conf/redis.conf

配置文件

编辑redis.conf配置文件

bind 0.0.0.0                                                                                                                                                                   
daemonize no                                                                                             
requirepass Passwordny01!                                                                             
appendonly yes                                                                                         
tcp-keepalive 300
docker run --restart=always -p 6379:6379 --name myredis -v $PWD/redis/conf/redis.conf:/etc/redis/redis.conf -v $PWD/redis/data:/data -d redis:7.0.12 redis-server /etc/redis/redis.conf

安装nginx

mkdir -p $PWD/nginx/conf && mkdir -p $PWD/nginx/log && mkdir -p $PWD/nginx/html
docker run --name nginx --restart=always -v $PWD/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/nginx/conf/conf.d:/etc/nginx/conf.d -v $PWD/nginx/log:/var/log/nginx -v $PWD/nginx/html:/usr/share/nginx/html -p 5181:5181 -v $PWD/dist:/home/dist -d nginx:latest

装JDK

sudo apt install openjdk-11-jdk

构建镜像

#依赖的父镜像
FROM openjdk:8-jdk
#同步时间
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
LABEL authors="yecao"
ADD ruoyi-admin.jar /home/ny/admin.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/home/ny/admin.jar"]

启动容器

docker run -d --restart=always --name myapp -p 8080:8080 -v /home/test:/home/ruoyi myapp

安装es

mkdir $PWD/es7.16.3/{data,logs,plugins} -pv
chown 1000 es7.16.3 -R
cd es7.16.3
touch elasticsearch.yml

配置文件

cluster.name: "ydzc_es"
network.host: 0.0.0.0
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
docker run -d --restart=always --user=root --privileged=true --name es7.16.3 -p 9200:9200 -p 9300:9300 --ulimit nofile=65536:65536 -v $PWD/es7.16.3/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v $PWD/es7.16.3/data:/usr/share/elasticsearch/data -v $PWD/es7.16.3/logs:/usr/share/elasticsearch/logs -v $PWD/es7.16.3/plugins:/usr/share/elasticsearch/plugins -e discovery.type=single-node -e ES_JAVA_OPTS="-Xms2G -Xmx4G" elasticsearch:7.16.3

如果启动不成功

# 查看日志
docker logs -ft --tail 500 es7.16.3

如果是权限问题,多半是es7.16.3权限不足

重新执行以下

chown 1000 es7.16.3 -R
docker restart es7.16.3

设置密码

docker exec -it es7.16.3 bash 
elasticsearch-setup-passwords interactive
.... 设置 es_xpack 认证的6个账户密码 ....

安装kibana

server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.0.11:9210"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
#设置kibana中文显示
i18n.locale: zh-CN
elasticsearch.username: "elastic"
elasticsearch.password: "Passwordny01!"
docker run -d --restart=always --name kibana_ydzc -v $PWD/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml -e ELASTICSEARCH_HOSTS=http://localhost:9200 -e ELASTICSEARCH_USERNAME=elastic  -e ELASTICSEARCH_PASSWORD=Passwordny01! -e I18N_LOCALE=zh-CN -e SERVER_HOST=0.0.0.0 -p 5601:5601 kibana:7.6.2

安装IotDB

# 获取镜像
docker pull apache/iotdb:1.1.0-standalone
# 创建 docker bridge 网络
docker network create --driver=bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 iotdb
# 创建 docker 容器
# 注意:必须固定IP部署。IP改变会导致 confignode 启动失败。
docker run -d --name iotdb-service --hostname iotdb-service --network iotdb --ip 172.18.0.6 -p 6667:6667 -v $PWD/iotdb/data:/iotdb/data -v $PWD/iotdb/logs:/iotdb/logs -e cn_internal_address=iotdb-service -e cn_target_config_node_list=iotdb-service:10710 
              -e cn_internal_port=10710 
              -e cn_consensus_port=10720 
              -e dn_rpc_address=iotdb-service 
              -e dn_internal_address=iotdb-service 
              -e dn_target_config_node_list=iotdb-service:10710 
              -e dn_mpp_data_exchange_port=10740 
              -e dn_schema_region_consensus_port=10750 
              -e dn_data_region_consensus_port=10760 
              -e dn_rpc_port=6667 
              -e root_password=Passwordny01 
              apache/iotdb:1.1.0-standalone              
# 尝试使用命令行执行SQL
docker exec -it iotdb-service /iotdb/sbin/start-cli.sh -h iotdb-service

安装EMQ

先创建一个挂载目录

mkdir emqx

先启动一次emq, 然后停止,删除

docker run -d --name emqx --privileged=true -p 1883:1883 -p 8883:8883 -p 8083:8083 -p 8084:8084 -p 8081:8081 -p 18083:18083  emqx/emqx:5.4.1

然后将容器中的数据负值出来

docker cp emqx:/opt/emqx /home/morimatsu/data

然后停止删除容器

docker stop emqx
docker rm emqx

再次启动容器并挂载数据

docker run -d --restart=always --name emqx --privileged=true -p 1883:1883 -p 8883:8883 -p 8083:8083 -p 8084:8084 -p 8081:8081 -p 18083:18083 -v /home/morimatsu/data/emqx:/opt/emqx emqx/emqx:5.4.1

安装rabbitmq

# 创建数据挂载目录
mkdir -p rabbitmq/data
docker run -d --name rabbitmq --restart=always -v $PWD/rabbitmq/data:/bitnami -e RABBITMQ_USERNAME=admin -e RABBITMQ_PASSWORD=admin -p 5672:5672 -p 15672:15672 bitnami/rabbitmq:latest
​
# 创建新用户 自己的账号密码
rabbitmqctl  add_user  Username  Password
# 查看当前用户列表
rabbitmqctl  list_users
# 设定角色 (设定管理员权限)
rabbitmqctl  set_user_tags  Username  administrator