docker容器中的resources怎么直接映射到/home/lixiaochun/lxc347/boot resources 这个目录呢?也就是直接使用docker容器之外的目录
当前:在centos7中安装有docker
在docker创建有一个镜像admin 同时run了admin容器
在centos下/home/lixiaochun/lxc347/boot 有
1、deckerfile文件
FROM openjdk:8
ADD admin.jar boot.jar
ADD resources /data/resources
EXPOSE 30000
ENTRYPOINT ["java","-jar", "/boot.jar"]
2、有resources 文件夹 内有一些静态文件及资源
3、有deploy.sh
tag=admin:master_$(date +%Y%m%d%H%M)
psName=admin
docker build -t "$tag" .
docker stop $psName || true && docker rm -f $psName || true
docker run -d -p 30000:30000 --restart=always --name $psName $tag
4、有admin.jar
运行sh deploy.sh 项目正常运行
当yml设置base-path: /data/resources 时 项目运行全部正常
但是会有一个问题 毕竟容器是在docker里面 文件目录会越来越大 有没有办法把这个 /data/resources直接使用/home/lixiaochun/lxc347/boot resources 这个目录呢?
可以将容器中的文件目录指向其他路径。在创建容器时,可以使用 -v 或 --volume 参数来指定容器内的路径与宿主机上的路径之间的映射关系。
以下是一个示例命令,将容器内的 /data/resources 目录映射到宿主机上的 /home/lixiaochun/lxc347/boot/resources 目录:
docker run -v /home/lixiaochun/lxc347/boot/resources:/data/resources
这将使容器中的 /data/resources 目录直接使用宿主机上的 /home/lixiaochun/lxc347/boot/resources 目录,从而避免了文件目录在容器中增长导致占用过多的存储空间。