下载安装好之后看版本:
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项目
-
docker-compose update
-
cd docker/
-
mkdir tomcat
-
vi docker-compose.yml
version: '3' //docker-compose配置语言的版本
services:
tomcat:
restart:always
image:tomcat
container_name:tomcat
ports:
- 8080:8080 -
docker-compose up
docker-compose 命令必须在含有docker-compose.yml文件目录下执行
-
cd /usr/local/docker/tomcat
-
docker ps -a
-
docker-compose up -d
-
docker ps
-
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://统一管理
运行
-
docker-compose up -d
-
docker rm -f containerID
-
docker-compose up -d
-
docker-compose logs web
-
docker-compse down // 停止并删除容器
由docker-compose统一管理的数据卷放到docker默认放数据的地方即docker的安装目录