docker安装mongo
以mongo为例详细介绍安装步骤,其它脚本则不再作详细介绍
1. 拉取 MongoDB 镜像
docker pull mongo
默认拉取最新版(latest
),如需指定版本(如 5.0
):
docker pull mongo:5.0
2. 运行 MongoDB 容器
docker run --name mongo -d -p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=password \
-v /path/on/host:/data/db \
--restart=always mongo
--name my-mongo
:容器名称(可自定义)。-d
:后台运行。-p 27017:27017
:将宿主机的27017
端口映射到容器的27017
端口(MongoDB 默认端口)。MONGO_INITDB_ROOT_USERNAME
:管理员用户名。MONGO_INITDB_ROOT_PASSWORD
:管理员密码。-v /path/on/host:/data/db
:将宿主机的/path/on/host
目录挂载到容器的/data/db
(MongoDB 数据目录,为防止容器删除后数据丢失,建议挂载宿主机目录)。--restart=always
:设置为开机自启
3. 验证 MongoDB 运行
查看容器状态
docker ps
若看到 mongo
状态(status)为 Up
,说明运行成功
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3900ac6ceea mongo "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 0.0.0.0:27017->27017/tcp, [::]:27017->27017/tcp mongo
docker安装redis
docker run -d --name redis \
-p 6379:6379 \
-v /your/local/redis/data:/data \
--restart=always redis
docker安装ElasticSearch
docker run -d \
--name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=false" \
-e "xpack.security.http.ssl.enabled=false" \
-e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
-v ~/es/data:/usr/share/elasticsearch/data \
-v ~/es/plugins:/usr/share/elasticsearch/plugins \
docker.elastic.co/elasticsearch/elasticsearch:8.12.2
docker-compose
version: '3.8'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.12.2
container_name: elasticsearch
environment:
- discovery.type=single-node
- xpack.security.enabled=false
- xpack.security.http.ssl.enabled=false
- ES_JAVA_OPTS=-Xms1g -Xmx1g
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./data:/usr/share/elasticsearch/data
- ./plugins:/usr/share/elasticsearch/plugins
ports:
- "9200:9200"
- "9300:9300"
xpack.security.enabled=false
→ 关闭用户认证(默认需要用户名elastic
+ 密码)。xpack.security.http.ssl.enabled=false
→ 关闭 HTTPS(默认只能用https://
访问,关掉后就能用http://
)。
这样配置以后,你就能直接用 http://localhost:9200
访问 ES,而不需要密码和证书。
注意:安装es时需要注意所挂载目录是否具有写入权限
docker安装RabbitMQ
1. 拉取 RabbitMQ 镜像
# 仅 RabbitMQ 服务(不带管理界面)
docker pull rabbitmq:3.13
# 带 Web 管理界面的版本(推荐)
docker pull rabbitmq:3.13-management
2. 运行容器
推荐使用带管理界面的镜像(方便你通过浏览器管理交换机、队列、消息):
docker run -d \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--restart=always
rabbitmq:3.13-management
-p 5672:5672
RabbitMQ 服务端口(程序连接用)
-p 15672:15672
管理界面端口
-e RABBITMQ_DEFAULT_USER=admin
默认用户名
-e RABBITMQ_DEFAULT_PASS=admin
默认密码
3. 验证是否成功
浏览器打开:
http://localhost:15672
默认用户名密码就是你在
-e
中配置的 (admin/admin
)。进入后可以看到管理界面(Exchanges、Queues、Connections 等)。