使用Docker Compose部署包含MySQL、Redis、Nginx和Mosquitto的容器

一.离线安装Docker Compose

1.下载安装包Docker Compose

https://github.com/docker/compose/releases/download

https://objects.githubusercontent.com/github-production-release-asset-2e65be/15045751/93aa98bb-8fce-4c53-bc53-7ce2ecb1a872?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240528%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240528T084437Z&X-Amz-Expires=300&X-Amz-Signature=4617d4aff81fbb29acefe0f22091ef8122ea7f4c0d818c8345cd78c33e077914&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=15045751&response-content-disposition=attachment%3B%20filename%3Ddocker-compose-linux-aarch64&response-content-type=application%2Foctet-stream

2.上传到服务器

|---------------------------------------------------------------------------------------------|
| mv /bwss/upload/docker-compose-linux-aarch64 /usr/local/bin/ sudo chmod +x docker-compose |

3.创建软链接以便于从任何位置调用 docker-compose 命令

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4.测试安装情况

|----------------------------|
| docker-compose --version |

二.安装中间件

docker-compose.yml配置

bash 复制代码
version: '3'
services:

  mysql:
    image: mysql:5.7.30
    container_name: test-mysql
    ports:
      - "3307:3306"
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: database_test
      MYSQL_USER: admin
      MYSQL_PASSWORD: admin123456
    restart: always

      
  redis:
    image: redis:7.2.0
    container_name: test-redis
    ports:
      - "6380:6379"
    restart: always
    volumes:
      - /bwss/docker_test/config/redis/conf/redis.conf:/etc/redis/redis.conf
      - /bwss/docker_test/config/redis/data:/data
    command: redis-server /etc/redis/redis.conf
    
      
  nginx:
    image: nginx:1.25.5
    container_name: test-nginx
    ports:
      - "8088:80" # 将主机的80端口映射到容器的80端口 
    restart: always
    volumes:
      - /bwss/docker_test/config/nginx/nginx.conf:/etc/nginx/nginx.conf  # 如果需要自定义Nginx配置,可以挂载配置文件
      - /bwss/agent:/bwss/agent  # 挂载你的网站文件到Nginx的默认web根目录
      
  mosquitto:
    image: eclipse-mosquitto:2.0.18
    container_name: test-mosquitto
    ports:
      - "1884:1883"
    restart: always
    volumes:
      - /bwss/docker_test/config/mosquitto/conf:/mosquitto/config
      - /bwss/docker_test/config/mosquitto/data:/mosquitto/data
      
  mongodb:
    image: mongo:4.4
    container_name: test-mongodb
    ports:
      - "27018:27017"
    restart: always
    volumes:
      - /bwss/docker_test/config/mongodb/db:/data/db
      - /bwss/docker_test/config/mongodb/conf:/data/configdb
      - /bwss/docker_test/config/mongodb/init/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js
















      

执行以上脚本即可自动安装nginx,mysql,redis等中间件容器

执行脚本指令:docker-compose up -d

具体见附件包资源:https://download.csdn.net/download/x948130516/89396990

相关推荐
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽6 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康8 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
ping某9 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx