Docker挂载目录
docker将宿主机的文件夹和docker容器内文件夹挂载后,操作这两者的任一个文件夹进行文件操作,另一个文件夹也将进行该操作的文件同步,且删除该docker容器,宿主机挂载的文件夹不会丢失。
使用docker挂载目录常用的命令有两种
1.后台运行容器
docker run -d -v 宿主机目录绝对路径:容器目录绝对路径 镜像ID或NAME
2.交互式运行容器
docker run -it -v 宿主机目录绝对路径:容器目录绝对路径 镜像ID或NAME /bin/bash
例如:想要运行一个Tomcat容器,并将容器中webapps目标与宿主机的/home/tomcat/webapps目录绑定。
#-p 宿主机端口:容器端口 #端口映射
#--name 名称#给容器指定NAME
#Docker容器tomcat的webapps文件夹的绝对路径为/usr/local/tomcat/webapps
docker run -d -p 8080:8080 --name tomcat -v /home/tomcat9/webapps:/usr/local/tomcat/webapps tomcat
注意:挂载的docker中webapps目录已存在,该目录下的文件将会被清空,且宿主机目录下的文件被拷贝到该目录。
如上述tomcat目录挂载操作,首先会删除/usr/local/tomcat/webapps下所有文件,然后会将/home/tomcat9/webapps下的文件拷贝到/usr/local/tomcat/webapps中。
挂载一个运行的docker容器
1.首先使用docker commit命令制作该容器的镜像,具体见https://blog.csdn.net/qq_37164019/article/details/118371232。
2.使用docker stop命令停止运行中的容器。
3.使用docker rm命令删除该容器。
4.根据上文docker run运行制作的镜像并进行目录挂载。