docker-compose的使用

下载安装好之后看版本:

docker-compose version

编写docker-compose.yml文件

这个是Compose使用的主模板文件 博客原文:https://www.lucidchart.com/techblog/2018/07/16/why-json-isnt-a-good-configuration-language/

配置服务格式如下不允许出现制表符,用空格代替:

version:'3'
services:
    web:
        build:
        ports:
            -"5000:5000"
 
    redis:
        image:"redis:alpine"

运行compose项目

  1. docker-compose update

  2. cd docker/

  3. mkdir tomcat

  4. vi docker-compose.yml
    version: '3' //docker-compose配置语言的版本
    services:
    tomcat:
    restart:always
    image:tomcat
    container_name:tomcat
    ports:
    - 8080:8080

  5. docker-compose up

docker-compose 命令必须在含有docker-compose.yml文件目录下执行

  1. cd /usr/local/docker/tomcat

  2. docker ps -a

  3. docker-compose up -d

  4. docker ps

  5. docker-compose logs tomcat
    11.docker-compose logs -f tomcat // 监听

docker-compose影响的是配置文件里所有的服务

version:'3'
services:
  web:
    restart:always
    image:tomcat
    container_name:web
    prots:
      -8080:8080
    volumes:
      - /usr/local/docker/shop/ROOT:/usr/local/tomcat/webapps/ROOT
  
  mysql:
    restart:always
    image:mysql:5.7.22
    container_name:mysql
    ports:
      -  3306:3306
    environment:
      TZ:Asia/Shanghai
      MSYQL_ROOT_PASSWORD:123456
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - mysql-data:/var/lib/mysql
  
  volumes:
    mysql-data://统一管理

运行

  1. docker-compose up -d

  2. docker rm -f containerID

  3. docker-compose up -d

  4. docker-compose logs web

  5. docker-compse down // 停止并删除容器

由docker-compose统一管理的数据卷放到docker默认放数据的地方即docker的安装目录

原文地址:https://www.cnblogs.com/cgy-home/p/11234243.html