Docker Compose 多应用部署 一键部署

介绍

Docker Compose通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。

如:springboot+mysql+nginx 如果一个个去部署他会非常的麻烦,这时候可以选择Docker Compose一键部署

文件名称:docker-compose.yml

MySQL

powershell 复制代码
docker run \
  --name=mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3306:3306 \
  -v mysql_data:/var/lib/mysql \
  --restart unless-stopped \
  -d \
  mysql:8.0

Nginx

powershell 复制代码
docker run -d --name nginx \
  -v /etc/local/nginx/dist:/usr/share/nginx/html \
  -p 80:80 \
  --restart always \
  nginx

SpringBoot

powershell 复制代码
docker run -d --name java-app -p 8080:8080 --restart=always app

如果一个个去进行部署会非常麻烦,这时候可以打包成一个Docker Compose一键部署

yaml 复制代码
version: "3.8"

services:
  mysql:
    image: mysql
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123
    volumes:
      - "./mysql/conf:/etc/mysql/conf.d"
      - "./mysql/data:/var/lib/mysql"
      - "./mysql/init:/docker-entrypoint-initdb.d"
    networks:
      - hm-net
  hmall:
    build: 
      context: .
      dockerfile: Dockerfile
    container_name: hmall
    ports:
      - "8080:8080"
    networks:
      - hm-net
    depends_on:
      - mysql
  nginx:
    image: nginx
    container_name: nginx
    ports:
      - "18080:18080"
      - "18081:18081"
    volumes:
      - "./nginx/nginx.conf:/etc/nginx/nginx.conf"
      - "./nginx/html:/usr/share/nginx/html"
    depends_on:
      - hmall
    networks:
      - hm-net
networks:
  hm-net:
    name: hmall

创建并启动

需要在当前目录下

powershell 复制代码
docker-compose up -d

查看容器的状态

powershell 复制代码
docker-compose ps

停止容器

powershell 复制代码
docker-compose top

删除并移除网络

powershell 复制代码
docker-compose down 
相关推荐
寺中人14 分钟前
Linux 基础命令入门实战教程:从零掌握常用操作,新手快速上手
linux·运维·服务器·shell·linux 命令·linux 基础教程·linux 入门
V哥AI增长28 分钟前
Schema.org 结构化数据与GEO技术落地:AI引擎引用机制与JSON-LD部署实证研究
大数据·运维·人工智能
IT_陈寒36 分钟前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
小张成长计划..1 小时前
【Linux】18:基础IO
linux·运维·服务器
用户938515635071 小时前
手写一个 LLM Harness 框架:用工程化手段把大模型幻觉踩在脚下
javascript·人工智能·后端
童槿顏丶2 小时前
docker自动化部署脚本
docker·eureka·自动化
wei_shuo2 小时前
KES 云原生部署与弹性扩展:容器化、Kubernetes编排与自动伸缩
后端
一木之林2 小时前
Python.五.(一)--1. 并发编程、异步IO与多进程
后端
离陌在学C#2 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
feng尘2 小时前
# 彻底搞懂 ReentrantLock 与 tryLock:从秒杀实战到 AQS 独占模式源码剖析
后端