目录
一.Nacos
二.MySQL5.7
三.Tomcat
四.Clickhouse
五.Redis
六.Zookeeper
七.Kafka
八.Flink
九.Fastdfs
十.RabbitMQ
十一.Elasticsearch
十二.Kibana
十三.IK分词器
十四.MinIo
十五.MongoDB
1.使用docker拉取镜像
docker pull nacos/nacos-server:1.2.0
2:运行容器
docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 nacos/nacos-server:1.2.0
3.访问地址
http://ip地址:8848/nacos
1.下载镜像
docker pull mysql:版本号
版本号: 一般是5.7或者8
5版本的安装比较简单, 不用手动即可远程访问
2.运行容器
docker run --name some-secret-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 --default_storage_engine=InnoDB --lower_case_table_names=1 --max_allowed_packet=50M --character-set-server=utf8mb4 --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
强制参数 MYSQL_ROOT_PASSWORD=root
将mysql的root用户密码设置为root
1.下载镜像
docker pull tomcat:版本号
7,8,9版本现在较为常用
2.运行容器
一般tomcat都是用来发布一个webapp的,所以,如果你想发布一个webapp,如下
如果你得到的是war,请解压为文件夹,然后将文件夹重命名为ROOT
docker run --name some-tomcat -p 8080:8080 -d -t -v /root/selton/mywebapp:/usr/local/tomcat/webapps tomcat:版本号
/root/selton/mywebapp, 这个文件夹里面有你的ROOT文件夹
1.下载镜像
clickhouse在dockerhub的官网
2.运行容器
docker run -dit --name some-clickhouse -e CLICKHOUSE_DB=test1 -e CLICKHOUSE_USER=root -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_PASSWORD=hexin -p 9000:9000 -p 8123:8123 clickhouse/clickhouse-server
用户名root,密码hexin,连接端口8123
1.下载镜像
docker pull redis
2.运行容器
docker run --name some-redis -d -it -p 16379:6379 redis --requirepass "这里设置密码" --appendonly yes
如果想要持久化redis中的数据,添加数据卷映射
docker run --name some-redis -d -it -v /your/host/want/store/redisdata/path:/data -p 16379:6379 redis --requirepass "这里设置密码" --appendonly yes
1.下载镜像
docker pull zookeeper
2.运行容器
docker network create app-bridge --driver bridge
docker run --name some-zookeeper --network app-bridge -e ALLOW_ANONYMOUS_LOGIN=yes -d -it -p 2181:2181 bitnami/zookeeper
注意: 此kafka的安装依赖与zookeeper的安装
#节点1
docker run -d --name=kafka2 \
-p 9092:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=服务器IP地址:2181 \
-e KAFKA_BROKER_ID=2 \
-e KAFKA_NODE_ID=2 \
-e KAFKA_ENABLE_KRAFT=false \
-e KAFKA_HEAP_OPTS="-Xmx180m -Xms180m" \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://服务器IP地址:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
bitnami/kafka
# 节点2
docker run -d --name=kafka3 \
-p 9093:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=服务器IP地址:2181 \
-e KAFKA_BROKER_ID=3 \
-e KAFKA_NODE_ID=3 \
-e KAFKA_ENABLE_KRAFT=false \
-e KAFKA_HEAP_OPTS="-Xmx180m -Xms180m" \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://服务器IP地址:9093 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
bitnami/kafka
ALLOW_PLAINTEXT_LISTENER=yes:允许使用PLAINTEXT侦听器
KAFKA_CFG_ZOOKEEPER_CONNECT:zookeeper集群地址,多节点,分割
KAFKA_BROKER_ID:节点id,用来指定 Kafka 集群中 broker 的唯一标识,默认值为 -1。如果没有设置,那么 Kafka会自动生成一个
KAFKA_ADVERTISED_LISTENERS:绑定公网 IP 供外部客户端使用
KAFKA_LISTENERS:绑定私网 IP 地址供 broker 间通信使用
docker-compose.yml
services:
jobmanager:
image: flink:latest
ports:
- "18001:8081"
command: jobmanager
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanagertaskmanager:
image: flink:latest
depends_on:
- jobmanager
command: taskmanager
scale: 1
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
taskmanager.numberOfTaskSlots:
1.下载镜像
docker pull delron/fastdfs
2.运行容器
docker run -d --network=host --name some-tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
#注意: 需要暴露22122端口 23000 否则下面的创建会有问题 8888端口也需要暴露 将来通过这个端口访问图片
docker run -d --network=host --name some-storage -e TRACKER_SERVER=服务器IP地址:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
docker run \
-e RABBITMQ_DEFAULT_USER=xjy \
-e RABBITMQ_DEFAULT_PASS=123456 \
-v mq-plugins:/plugins \
--name mq \
--hostname mq \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3.8-management
可以看到在安装命令中有两个映射的端口:
15672:RabbitMQ提供的管理控制台的端口
5672:RabbitMQ的消息发送处理接口
安装完成后,我们访问 http://ip:15672即可看到管理控制台。首次访问需要登录,默认的用户名和密码在配置文件中已经指定了。 登录后即可看到管理控制台总览页面:
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
注意,这里我们采用的是elasticsearch的7.12.1版本,由于8以上版本的JavaAPI变化很大,在企业中应用并不广泛,企业中应用较多的还是8以下的版本。
安装完成后,访问9200端口,即可看到响应的Elasticsearch服务的基本信息:
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
-p 5601:5601 \
kibana:7.12.1
安装完成后,直接访问5601端口,即可看到控制台页面:
选择Explore on my own
之后,进入主页面:
然后选中Dev tools
,进入开发工具页面:
方案一:在线安装
运行一个命令即可:
docker exec -it es ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
然后重启es容器:
docker restart es
方案二:离线安装
如果网速较差,也可以选择离线安装。
首先,查看之前安装的Elasticsearch容器的plugins数据卷目录:
docker volume inspect es-plugins
结果如下:
[
{ "CreatedAt": "2024-11-06T10:06:34+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/es-plugins/_data",
"Name": "es-plugins",
"Options": null,
"Scope": "local"
}
]
可以看到elasticsearch的插件挂载到了/var/lib/docker/volumes/es-plugins/_data
这个目录。我们需要把IK分词器上传至这个目录。
提前下载好ik分词器插件,你需要对其解压,然后上传至服务器的/var/lib/docker/volumes/es-plugins/_data
这个目录.
最后,重启es容器:
docker restart es
十四.MinIo
docker search minio
docker pull minio/minio
docker run -p 9000:9000 -p 9090:9090
--name minio -d
--restart=always
-e "MINIO_ACCESS_KEY=minio"
-e "MINIO_SECRET_KEY=minio123"
-v /home/data:/data -v /home/config:/root/.minio minio/minio server /data
--console-address ":9000" --address ":9090"
拉取镜像
docker pull mongo
创建容器
docker run -di --name mongo-service --restart=always -p 27017:27017 -v ~/data/mongodata:/data mongo