为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8 docker
【操作系统】:linux
【CPU】:
【问题描述】:
现在使用docker-compose 挂载目录,配置文件如下:
version: ‘3.2’
services:
dm8:
image: dm8:v01
container_name: dm8
restart: always
volumes:
- /opt/soft/dm8/data:/dm8/data
- /etc/localtime:/etc/localtime:ro
networks:
- dm-net
ports:
- 5236:5236
command: /bin/bash /startDm.sh
networks:
dm-net:
external: false
发现没有把数据文件挂载出来。容器被删后数据还是会被丢失。请问怎么docker方式部署,怎么把数据挂载到磁盘。
参考:
docker run -it -v 主机目录:容器目录
这部分修改成这样的
volumes:
- "/data/dmdata/5241:/opt/dmdbms/data"
- "/data/dmdata/5241/log:/opt/dmdbms/log"
如果把数据放在容器中,容器销毁后,数据就没了。所在初始化数据库实例的时候,可以单独存放数据(软件和数据分开),然后在docker中分别挂载软件目录和数据目录,在软件目录定义的启动脚本就配置为docker容器挂载后的数据目录就可以了