一起学Docker:Docker容器文件的挂载方法一

在运行容器时,docker命令【Docker run】有一个参数-v,允许容器内文件与宿主机之间进行双向映射,这样做有2个好处:
1:修改文件时不用再进容器内修改,比如要修改Nginx的配置文件,在宿主机修改就可以。
2:变相的持久化数据,比如MySQL的data文件,做好文件映射后删除容器与镜像,宿主机上映射的文件是不会删除的,避免了不小心删了容器,然后只能跑路。
以Nginx为例:

映射

一起学Docker:Docker容器文件的挂载方法一_第1张图片
在镜像中新建了一个1.java文件,映射的文件夹也出现了文件,请注意window上路径的反斜杠问题。

  1. 注意路径中使用的斜杠和反斜杠,windows目录使用"",但容器中的路径要使用"/"。
  2. 不要映射保存有运行文件的/app路径到本地路径,这样会报错。可以映射到app的子目录来避免这个问题。
  3. 可以映射到文件,比如,如果希望在本地修改appsettings.json,可以将这个文件映射到容器。

修改

在宿主机上修改文件,容器内进行查看也改变了
一起学Docker:Docker容器文件的挂载方法一_第2张图片

权限

docker run -v c:\nginx /usr/share/nginx/:ro nginx
docker run -v c:\nginx /usr/share/nginx/:rw nginx

ro read-only 只读模式 只能在宿主机修改,容器内之内读取
rw read-write 可读写 默认模式

你可能感兴趣的:(Docker,Docker,Docker,Desktop)