赞
踩
通过 -v 选项来挂载一个数据卷到某个容器目录
docker run --name containerName -p 80:80 -v volumeName:targetContainerPath -d imagesName
命令解读:
docker run
:命令本身
--name containerName
:给容器起一个名字
-p 80:80
:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口,就是将完全隔离的容易透出来一个小口,这样我们可以透过这个小口来对容器进行访问,宿主机端口一般可以任意写,只要没被占用,但是容器端口往往是由容器本身决定的
-v volumeName:targetContainerPath
:将 volumeName 数据卷挂载到容器内的 targetContainerPath 目录中
-d
:后台运行
images
:镜像名称,没有加标签,默认为最新版本
需求:创建一个 nginx 容器,修改容器内的 html 目录内的 index.html 内容
在之前的博客中,进入Nginx容器,我们已知 nginx 的 html 目录所在位置 /usr/share/nginx/html ,把这个目录挂载到 html 这个数据卷上我们就可以使用 Windows 上的高级开发工具修改其中的 index.html 文件上的内容了。
如果挂载的数据卷不存在 docker 会自动创建这个数据卷
docker run --name my-nginx -p 80:80 -v html:/usr/share/nginx/html -d nginx
docker volume inspect html
// 或者 docker inspect html
cd /var/lib/docker/volumes/html/_data/
进入 html 数据卷所在位置,可以发现已经被容器 my-nginx 挂载了
1.可以使用 vim 进行编辑
2.也可以借助 FinalShell 使用 IDE 来编辑(Win11请往下先看完序号三)
使用VSCode打开后,编辑内容:
**编辑完后直接在VSCode保存即可**
可以看到,我们在数据卷内修改,容器内也会得到修改!
之前使用 Windows10 系统时还可以选择使用什么软件打开,但是最近使用 Windows11 时却发现直接将 html 文件用浏览器打开了,这就很苦恼,因为我想要编辑呀!
我们可以通过修改系统的默认打开方式来解决:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。