学习 docker-compose 部署hadoop集群、看到docker-compose 一种不同volumes定义方式
version: "3"
services:
namenode:
image: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
volumes:
- namenode:/hadoop/dfs/name
environment:
- CLUSTER_NAME=test
env_file:
- ./hadoop-hive.env
ports:
- "50070:50070"
datanode:
image: bde2020/hadoop-datanode:2.0.0-hadoop2.7.4-java8
volumes:
- datanode:/hadoop/dfs/data
env_file:
- ./hadoop-hive.env
environment:
SERVICE_PRECONDITION: "namenode:50070"
ports:
- "50075:50075"
...
volumes:
namenode:
datanode:
docker-compose中有两种方式可以设置数据持久化。
1、绝对路径
db:
image: mariadb:latest
restart: always
ports:
- "3306:3306"
volumes:
- [直接使用宿主机的本地路径]:/var/lib/mysql
使用绝对路径直接挂载到本地,直观易于查看,但需要管理本地的路径。
2、卷标
db:
image: mariadb:latest
restart: always
ports:
- "3306:3306"
volumes:
- [卷标名称]:/var/lib/mysql
volumes:
[卷标名称]:
使用卷标的方式,简洁易于管理,但是数据实际存放的位置需要费点周折才能看到。
查看卷标的信息
docker volume inspect [卷标名称]
#输出的信息中 Mountpoint 即为数据实际存放的位置
还可以查看所有的卷标
docker volume ls