Docker-compose 部署mysql,redis,rabbitmq并完成数据卷挂载和docker net配置

1.编写需要的Dockerfile

:因为rabbitmq需要查看web图形界面,我们需要编写Dockerfile为rabbitmq实例执行时启动插件
官方描述

FROM rabbitmq
RUN rabbitmq-plugins enable --offline rabbitmq_management rabbitmq_mqtt rabbitmq_federation_management rabbitmq_stomp

2.编写docker-compose

# build: .# 从当前目录加载Dockerfile生成所需镜像
# ${host docker Contents} # 一般为/usr/local/docker
# version: "3.3" # docker-compose的版本要对应
# 若数据卷挂载宿主机目录为空,需要自己手动配置(到官网下载初始配置文件,或者运行一个新的实例 docker cp 出相应文件)
version: "3.3"
services:
    rabbitmq:
#        build: . #运行当前目录下的Dockerfile得到image
    	image: rabbitmq:3.8.3-management
        ports:
            - "5672:5672"
            - "15672:15672"
        volumes:
            - ${host docker Contents}/rabbitmq/data:/var/lib/rabbitmq
            - ${host docker Contents}/rabbitmq/conf/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
            - ${host docker Contents}/rabbitmq/logs/:/var/log/rabbitmq/log/
        environment:
            RABBITMQ_DEFAULT_USER: admin
            RABBITMQ_DEFAULT_PASS: rbmq
    mysql:
        image: mysql:5.7
        ports:
            - "3305:3306"
        volumes:
            - ${host docker Contents}/mysql/conf:/etc/mysql/conf.d
            - ${host docker Contents}/mysql/data:/var/lib/mysql
            - ${host docker Contents}/mysql/logs:/var/log/mysql
        environment:
            MYSQL_ROOT_PASSWORD: mysql
    redis:
        image: redis
        ports:
            - "6380:6379"
        volumes:
            - ${host docker Contents}/redis/conf:/etc/redis/
            - ${host docker Contents}/redis/data:/data
            - ${host docker Contents}/redis/log/:/usr/local/redis/log/
# 默认会把一个docker-compose内的实例运行在同一个docker net
# 自定义默认网络
networks:
  default:
    external:
      name: env_network
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用docker-compose部署RedisMySQL和Java服务,可以按照以下步骤进行操作: 1. 首先,创建一个名为`docker-compose.yaml`的文件,并在该文件中定义服务: ``` version: '3' services: redis: image: redis ports: - '6379:6379' mysql: image: mysql environment: - MYSQL_ROOT_PASSWORD=your_password - MYSQL_DATABASE=your_database - MYSQL_USER=your_user - MYSQL_PASSWORD=your_password volumes: - ./data:/var/lib/mysql ports: - '3306:3306' java_app: build: ./your_java_app_directory ports: - '8080:8080' depends_on: - redis - mysql ``` 2. 在上述`docker-compose.yaml`文件中,定义了3个服务:`redis`、`mysql`和`java_app`。 - `redis`服务使用Redis镜像,并将容器内的6379端口映射到主机的6379端口。 - `mysql`服务使用MySQL镜像,并设置环境变量用于配置MySQL实例,同时将容器内的3306端口映射到主机的3306端口。 - `java_app`服务将使用构建目录中的Java应用程序构建,并将容器内的8080端口映射到主机的8080端口。同时,此服务依赖于`redis`和`mysql`服务,确保在启动`java_app`服务之前,`redis`和`mysql`服务已经启动。 3. 在`mysql`服务的环境变量中,根据需要设置MySQL的root密码、数据库名称、用户名和密码。同时,为了持久化MySQL数据,将容器内的`/var/lib/mysql`目录映射到主机的`./data`目录。 4. 在`java_app`服务中,构建Java应用程序的镜像需要指定所在的目录。确保将Java应用程序的构建文件和依赖项放置在正确的目录中。 5. 最后,在命令行中使用`docker-compose up`命令来启动服务。这将根据`docker-compose.yaml`文件中的配置,创建并启动RedisMySQL和Java服务的Docker容器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值