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