在使用 Docker 做MogDB数据库的运行时环境时,可以通过在Docker中挂接外部目录,实现更好的存储管理。
Docker 将宿主机上的目录挂载到镜像里,可以使用"-v"参数来完成。
- "-v"参数后面跟着的是宿主机上的目录和在镜像内挂载的路径,两者之间用冒号分隔。
- 例如:
docker run -it -v /Users/eygle/MogDB:/var/lib/mogdb MogDB5.0 /bin/bash
这条命令将会把宿主机上的 /Users/eygle/MogDB 目录挂载到镜像内的 /var/lib/mogdb 路径下。
其命令格式是:
docker run -it -v /宿主机目录:/容器目录 镜像名:镜像标签
这样设计的优点在于,即使容器被删除,数据也不会丢失,因为数据被存储在数据卷中,而非容器内。
docker run --name MogDB5.0 --privileged=true -d -e GS_PASSWORD=Enmo@123 -v /Users/eygle/MogDB:/var/lib/mogdb -p 15432:5432 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:latest
如果要挂接多个目录,则可以使用多个 -v 参数:
docker run --name MogDB5.0 --privileged=true -d -e GS_PASSWORD=Enmo@123 -v /Users/eygle/MogDB:/var/lib/mogdb -v /Volumes/EBAK/Datafile:/data1 -p 15432:5432 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:latest
启动后的容器是这样的:
# df -k Filesystem 1K-blocks Used Available Use% Mounted on overlay 73996332 32042332 38162796 46% / tmpfs 65536 0 65536 0% /dev shm 65536 0 65536 0% /dev/shm grpcfuse 782578096 281472880 501105216 36% /data1 /dev/vda1 73996332 32042332 38162796 46% /etc/hosts
复制
参考文档:
https://docs.mogdb.io/zh/mogdb/v3.0/docker-installation