volume在docker中的意思表示将宿主机上的目录挂在到docker容器中,这样可以保持数据持久化,当将容器删除时,数据不会丢失
1、手动创建一个volume可以使用命令:docker volume create wincom-node,如下图所示:
2、查看volume信息使用命令:docker inspect wincom-node,如下图所示:
其中Mountpoint表示的是本机的目录,当挂在到容器中后,容器中的目录则显示的是该目录下的信息。
3、删除volume则使用命令:docker volume rm wincom-node,如下图所示:
4、在Dockerfile中的volume,如下文件内容:
FROM node:12
VOLUME /webapp
WORKDIR /webapp
然后通过docker build -t wincom-node:webapp .进行编译,如下图所示:
5、然后执行命令:docker run --name wincom-node --net=host -d -P -v /home/win/wincom-webapp/:/webapp -it wincom-node:webapp /bin/bash
然后在执行:docker start wincom-node命令来启动容器,最后执行docker exec -it wincom-node /bin/bash命令进入到容器里
,此时查看容器中的文件发现已经将宿主机上的目录挂在到容器中了,如下图所示:
--name wincom-node中的wincom-node表示容器的名称
--net=host表示和主机共享同一个ip
-d -P -v /home/win/wincom-webapp/:/webapp表示将宿主机目录/home/win/wincom-webapp/挂在到容器中的/webapp目录上
-it wincom-node:webapp /bin/bash表示以交互式方式进入到容器中。