windows使用docker-compose部署java web环境

 环境

windows

docker下载:Home - Docker

docker-compose官方示例:

Get started with Docker Compose | Docker Documentation

docker-compose 

部署命令

docker-compose up 

部署

1.先准备docker-compose.yml 文件,文件中有需要安装的mysql,redis,zookeeper,kafka。代码如下(可直接复制):

docker-compse文件说明:

version 版本:与docker对应我用的是最新版所以为3.8,可根据自己的docker版本切换,查看版本地址:

Compose file version 3 reference | Docker Documentation

services 服务:

   images 镜像

   container_name 容器名

   ports 端口  3306:3306  对外端口:容器内端口 ,这个可以不一致看自己需要

   environment  环境,配置一些服务需要的配置,如:mysql的 MYSQL_ROOT_PASSWORD  密码,TZ 同步上海时间

   volumes  挂载 ,目的就是系统中的文件和容器中的文件相对应,可以达到不管哪边修改都可以同步更新的作用,备份数据的作用

mynetwork  docker自定义网络创建 

docker network  create --subnet=172.18.18.0/24 mynetwork
version: '3.8'  #版本与docker版本对应
services: #定义服务,一个service其实就是一个容器
 mysql-01:
  image: mysql
  container_name: mysql-3306
  ports:
   - "3306:3306"
  environment:
   MYSQL_ROOT_PASSWORD: 123456
   TZ: Asia/Shanghai
  volumes:
   - D:/docker/mysql/3306/conf/my.cnf:/etc/mysql/my.cnf
   - D:/docker/mysql/3306/log:/var/log/mysql
   - D:/docker/mysql/3306/data:/var/lib/mysql
  networks:
   - persist     
 redis-01:
  image: redis
  container_name: redis-6379
  ports:
   - "6379:6379"
  environment:
   TZ: Asia/Shanghai
  volumes:
   - D:/docker/redis/6379/data:/data
   - D:/docker/redis/6379/redis-server.conf:/etc/redis/redis-server.conf
  networks:
   - persist               
 zookeeper-01:
  image: wurstmeister/zookeeper
  container_name: zookeeper-2181
  ports:
    - "2181:2181"
  environment:
   TZ: Asia/Shanghai
  volumes:
   - D:/docker/zookeeper/2181/data:/data
   - D:/docker/zookeeper/2181/datalog:/datalog 
   - D:/docker/zookeeper/2181/logs:/logs       
  networks:
   - persist               
 kafka-01:
  image: wurstmeister/kafka
  container_name: kafka-9092
  expose:
    - "9999"
  ports:
    - "9092:9092"
    - "9999:9999"
  depends_on:
   - zookeeper-01    
  environment:
    KAFKA_BROKER_ID: 1
    KAFKA_ZOOKEEPER_CONNECT:  zookeeper-2181:2181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-01:9092
    KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092    
    JMX_PORT: 9999  #启用远程JMX 监控面板用
    TZ: Asia/Shanghai      
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
  networks:
   - persist  
 kafka-02:
  image: wurstmeister/kafka
  container_name: kafka-9093
  ports:
    - "9093:9093"
  depends_on:
   - zookeeper-01    
  environment:
    KAFKA_BROKER_ID: 2
    KAFKA_ZOOKEEPER_CONNECT:  zookeeper-2181:2181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-02:9093    
    KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9093
    TZ: Asia/Shanghai      
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
  networks:
   - persist               
 efak:
  image: ydockerp/efak
  container_name: efak
  depends_on:
    - kafka-01
    - kafka-02    
  ports: 
   - "8048:8048"
  volumes:
   - D:/docker/efak/8048/system-config.properties:/opt/kafka-eagle/conf/system-config.properties 
  environment:
   ZK_HOSTS: zookeeper-2181:2181
  networks:
   - persist         
networks: # 使用已创建好的网络
 persist:    #可以当做compose 的别名
  external:  # 用于指定创建好的网络
   name: mynetwork 

 

注意:如果本地连接docker连接不上kafka则修改hosts文件 

文件位置:C:\Windows\System32\drivers\etc

127.0.0.1       kafka-01
127.0.0.1       kafka-02

 2. cmd 进入 docker-compose.yml 的文件位置,例如 我的位置在D:\docker\compose  然后输入命令

docker-compose up

windows使用docker-compose部署java web环境_第1张图片

windows使用docker-compose部署java web环境_第2张图片

 3.就可以在docker中看到部署成功

 windows使用docker-compose部署java web环境_第3张图片

 码云:youyue: 有岳,后台管理系统,springboot+mybatis+redis

你可能感兴趣的:(java-youyue,docker,java,容器)