使用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

相关推荐
wusam14 分钟前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习04(环境准备)
学习·docker·centos
苹果醋324 分钟前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
wusam3 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
一直在进步的派大星3 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
Zl1597531597537 小时前
k8s基础环境部署
云原生·容器·kubernetes
tanxiaomi8 小时前
vue 不是spa 单页面应用吗? 配置路由工作模式为history 后 ,为什么配置Nginx的 try_files 可以根据url 找到对应的文件?
前端·vue.js·nginx
陌殇殇殇9 小时前
使用GitLab CI构建持续集成案例
运维·ci/cd·云原生·容器·kubernetes·gitlab
技术钱9 小时前
docker简介
运维·docker·容器
roman_日积跬步-终至千里9 小时前
【docker】docker常见命令
运维·docker·容器
twins35209 小时前
配置Nginx以支持通过HTTPS回源到CDN
网络·nginx·https