docker compose使用

参考https://docs.docker.com/compose、https://www.jianshu.com/p/2703bc0439c8

docker-compose.yml内容如下

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
version: '3'
services:
  # java环境
  #jdk8:
  #  container_name: jdk8
  #  image: java:1.8
  #  restart: always
    #volumes:
    #  - /usr/java/jdk1.8.0_202/:???
  #mqtt中间件
  mqtt:
    container_name: mqtt
    image: eclipse-mosquitto
    restart: always
    expose:
      - "1883"
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - ./mosquitto:/mosquitto
 
  #mysql服务
  mysql:
    container_name: mysql
    image: mysql:5.7
    restart: always
    expose:
      - "3306"
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/data/:/var/lib/mysql/
      - ./mysql/conf/:/etc/mysql/mysql.conf.d/
    environment:
      - MYSQL_ROOT_PASSWORD=123456
 
  #tomcat服务
  tomcat:
    container_name: tomcat
    image: tomcat:9.0
    restart: always
    expose:
      - "8001"
    ports:
      - "8001:8080"
      - "8009:8009"
      - "8777:8777"
    volumes:
      - ./tomcat9/bin:/usr/local/tomcat/bin
      - ./tomcat9/conf:/usr/local/tomcat/conf
      - ./tomcat9/logs:/usr/local/tomcat/logs
      - ./tomcat9/webapps:/usr/local/tomcat/webapps
      - /usr/java/jdk1.8.0_202/:/usr/java/jdk1.8.0_202/
      - ./.bashrc:/root/.bashrc
    #设置java home没用欸
    environment:
      - JAVA_HOME=/usr/java/jdk1.8.0_202/
   #   - JRE_HOME=${JAVA_HOME}/jre
   #   - CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
   #   - PATH=${JAVA_HOME}/bin:$PATH
    depends_on:
   #links:
      - mysql
      - mqtt

1.注意tomcat容器内部连接mysql、mqtt时,不能使用127.0.0.1(因为不同容器网络隔离了),要直接用depends_on里面的名称(别名)

2.各个容器如果要按顺序启动,可使用wait-for-it(参考https://www.cnblogs.com/wangmo/p/13042925.html)

 

启动相关命令如下

1
2
3
4
5
6
7
#创建并运行容器,-d 表示后台执行(首次运行可以docker-compose,可以看到运行日志,确定没问题了再-d)
docker-compose up -d
 
#停止
docker-compose stop
 
#其他命令详见docker-compose --help

 查看运行情况(主要是 mysql、mqtt、tomcat)

最终形成的目录如下

 

 

 

posted @   huangyn  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示