docker安装各种常用软件

2025-04-02

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 等)。

NEXT
在 Ubuntu 中创建 Python 虚拟环境的完整指南