操作系统信息 centos7.6
1、安装向量数据库 Milvus
1、执行下面这条命令下载docker-compose文件
或者是手动下载docker-compose文件:github.com/milvus-io/m…
wget https://github.com/milvus-io/milvus/releases/download/v2.5.12/milvus-standalone-docker-compose.yml
2、再文件所在目录执行命令即可
docker-compose -f milvus-standalone-docker-compose.yml up -d
3、看到如下页面就算是部署成功
2、安装Tomcat
1、镜像拉取
docker pull tomcat:8.5.46
2、容器启动
docker run -d --name tomcat \
-p 8080:8080 \
-v /opt/tomcat/webapps:/opt/mountdata/tomcat/webapps \
-v /opt/tomcat/logs:/opt/mountdata/tomcat/logs \
-v /opt/tomcat/conf:/opt/mountdata/tomcat/conf \
tomcat:8.5.46
3、安装minio
1、镜像拉取
docker pull minio:latest
2、容器启动和挂载
docker run -d --name minio \
-p 9000:9000 \
-p 9001:9001 \
-restart=always \
-v /opt/mountdata/minio/data:/data \
-v /opt/mountdata/minio/config:/root/.minio \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=admin123 \
minio/minio server /data --console-address ":9001"
docker componse 文件配置
version: '3.9'
services:
minio:
image: minio/minio
container_name: minio
restart: always
ports:
- "9000:9000" # API端口
- "9001:9001" # 控制台端口
volumes:
- /opt/mountdata/minio/data:/data # 数据持久化
- /opt/mountdata/minio/config:/root/.minio # 配置持久化
environment:
MINIO_ROOT_USER: "admin"
MINIO_ROOT_PASSWORD: "admin123"
command: server /data --console-address ":9001"
4、安装RocketMQ
1、镜像拉取
docker pull apache/rocketmq:4.9.6
2、容器启动
启动mqnamesrv
docker run -d \
--name rmqnamesrv \
-p 9876:9876 \
-v /opt/mountdata/rocketmq/rmqnamesrv/logs:/root/logs \
-v /opt/mountdata/rocketmq/rmqnamesrv/store:/root/store \
apache/rocketmq:4.9.6 \
sh mqnamesrv
启动broker
docker run -d \
--name rmqbroker \
-p 10911:10911 \
-p 10909:10909 \
-v /opt/mountdata/rocketmq/rmqbroker/logs:/root/logs \
-v /opt/mountdata/rocketmq/rmqbroker/store:/root/store \
--env NAMESRV_ADDR="rmqnamesrv:9876" \
--link rmqnamesrv \
apache/rocketmq:4.9.6 \
sh mqbroker -c /home/rocketmq/rocketmq-4.9.6/conf/broker.conf
docker componse 文件配置
version: '3.5'
services:
namesrv:
image: apache/rocketmq:4.9.6
container_name: rmqnamesrv
ports:
- "9876:9876"
volumes:
- /opt/rocketmq/namesrv/logs:/root/logs
- /opt/rocketmq/namesrv/store:/root/store
command: sh mqnamesrv
restart: always
broker:
image: apache/rocketmq:4.9.6
container_name: rmqbroker
ports:
- "10911:10911"
- "10909:10909"
depends_on:
- namesrv
environment:
NAMESRV_ADDR: "namesrv:9876"
volumes:
- /opt/rocketmq/broker/logs:/root/logs
- /opt/rocketmq/broker/store:/root/store
- /opt/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.1.4/conf/broker.conf
command: sh mqbroker -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf
restart: always
监控RocketMq-console
docker run -d \
--name rocketmq-console \
-p 8080:8080 \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876" \
--link rmqnamesrv \
styletang/rocketmq-console-ng
5、安装Redis
1、镜像拉取
docker pull redis7.0.1
2、容器运行
docker run -d \
--name redis-prod \
--memory 1g --memory-swap 1g \
-p 6379:6379 \
-v /opt/mountdata/redis/data:/data \
-v /opt/mountdata/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
redis:7.0.1 \
redis-server /usr/local/etc/redis/redis.conf
docker componse 文件配置
version: '3.9'
services:
redis:
image: redis:7.0.1
container_name: redis
restart: always
ports:
- "6379:6379"
volumes:
# 持久化数据目录
- /opt/mountdata/redis:/data
# 配置文件挂载
- /opt/mountdata/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf
6、安装nginx
1、镜像拉取
docker pull nginx:1.22.0
2、容器启动
宿主机目录创建
sudo mkdir -p /opt/mountdata/nginx/{conf.d,certs,html,logs}
容器启动前先把镜像的目录先拷贝到宿主机
# 提取主配置文件
docker run --rm nginx:1.22.0 cat /etc/nginx/nginx.conf > /opt/mountdata/nginx/nginx.conf
# 提取默认server配置
docker run --rm nginx:1.22.0 cat /etc/nginx/conf.d/default.conf > /opt/mountdata/nginx/conf.d/default.conf
# 提取mime.types文件(可选)
docker run --rm nginx:1.22.0 cat /etc/nginx/mime.types > /opt/mountdata/nginx/mime.types
文件权限校验
sudo chown -R 101:101 /opt/mountdata/nginx/logs # Nginx用户UID
sudo chmod -R 755 /opt/mountdata/nginx
sudo chmod 644 /opt/mountdata/nginx/nginx.conf
sudo chmod 644 /opt/mountdata/nginx/conf.d/default.conf
启动这个容器
docker run -d --name nginx-prod \
-p 80:80 \
-p 5000:5000 \
-p 5004:5004 \
-p 5002:5002 \
-p 5003:5003 \
-p 5001:5001 \
-p 5100:5100 \
-p 7100:7100 \
-p 443:443 \
-v /opt/mountdata/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /opt/mountdata/nginx/mime.types:/etc/nginx/mime.types:ro \
-v /opt/mountdata/nginx/conf.d:/etc/nginx/conf.d:ro \
-v /opt/mountdata/nginx/certs:/etc/nginx/certs:ro \
-v /opt/mountdata/nginx/html:/usr/share/nginx/html:ro \
-v /opt/mountdata/nginx/logs:/var/log/nginx \
nginx:1.22.0
3、如果修改了配置文件,环境怎么刷新
检测配置文件是否有误
docker exec nginx-prod nginx -t
重新加载nginx
docker exec nginx-prod nginx -s reload
7、安装mysql5.7
1、镜像拉取
docker pull mysql:5.7
2、容器启动
docker run -d \
--name mysql-prod \
--restart=always \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=LLyyqq04080811... \
-e TZ=Asia/Shanghai \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/logs:/var/log/mysql \
-v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf \
mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--explicit_defaults_for_timestamp=1
8、安装Nacos
1、镜像拉取
docker pull nacos/nacos-server:v2.2.3
2、提前拷贝镜像里面的配置文件
宿主机目录创建
mkdir -p /opt/mountdata/nacos/{conf,logs,data}
临时容器启动
docker run -d --name nacos-tmp nacos/nacos-server:v2.2.3
拷贝文件到宿主机
docker cp nacos-tmp:/home/nacos/conf /opt/mountdata/nacos/
docker cp nacos-tmp:/home/nacos/logs /opt/mountdata/nacos/
docker cp nacos-tmp:/home/nacos/data /opt/mountdata/nacos/
最后删除临时容器
docker rm -f nacos-tmp
3、启动Nacos容器
docker run -d \
--name nacos-prod \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e MODE=standalone \
-v /opt/mountdata/nacos/conf:/home/nacos/conf \
-v /opt/mountdata/nacos/logs:/home/nacos/logs \
-v /opt/mountdata/nacos/data:/home/nacos/data \
nacos/nacos-server:v2.2.3
9、安装容器监控工具Portainer
1、镜像拉取
docker pull portainer/portainer-ce
2、提前把docker里面的data目录内容copy到/opt/mountdata/portainer/portainer_data
docker cp portainer:/data/. /opt/mountdata/portainer/portainer_data/
3、启动docker容器
docker run -d \
--name portainer-prod \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/mountdata/portainer/portainer_data:/data \
--restart=always \
portainer/portainer-ce
10、安装MongoDB
1、创建MongoDB数据挂载目录
mkdir -p /opt/mountdata/mongodb/data
2、镜像拉取
docker pull mkdir -p /opt/mountdata/mongodb/data
3、容器启动
docker run -d \
--name mongodb-prod \
-p 27017:27017 \
-v /opt/mountdata/mongodb/data:/data/db \
--restart=always \
mongo:6.0