ZBLOG

帮我编写一个docker-compose.yml文件里面包括redis和mysql和jar包,并且挂着同一个网络里

下面是一个包含redis、mysql和jar包的docker-compose.yml文件,并将它们挂载在同一个网络中:

version: '3'
services:
  redis:
    image: redis:latest
    container_name: my-redis
    networks:
      - my-network

  mysql:
    image: mysql:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: your_password_here
      MYSQL_DATABASE: your_database_here
      MYSQL_USER: your_user_here
      MYSQL_PASSWORD: your_password_here 
    volumes:
      - ./mysql-data:/var/lib/mysql # 持久化存储数据库数据到本地目录,注意要在当前目录下创建mysql-data文件夹 
    container_name: my-mysql  
    networks:
      - my-network
      
  app:
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - mysql # 等待mysql启动完成后再启动应用程序容器 
      - redis # 等待redis启动完成后再启动应用程序容器 
    container_name: my-app  
    networks:
      - my-network

networks:
  my-network:

解释一下:

  • redismysql服务使用官方镜像,并映射对外暴露的端口。
  • mysql服务使用volumes将数据库数据持久化存储到本地,避免容器删除后数据丢失。
  • app服务使用自定义Dockerfile构建,并映射对外暴露的端口。
  • 所有容器都被挂载在同一个名为“my-network”的网络中,以便它们之间可以相互访问。
  • depends_on用于指定应用程序容器需要等待mysql和redis容器启动完成后再启动。

你需要将该文件保存为docker-compose.yml,然后在该文件所在目录执行以下命令来启动这些服务:

docker-compose up -d

其中-d参数表示以“后台模式”运行。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=4722

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?