通过vm虚拟中的docker 环境做开发

我有这样一个需求,本人平时喜欢使用虚拟机做各种的环境配置,但是虚拟机环境配置好后,不能再虚拟机中安装很笨重的编辑器开发吧,最好是能再真实电脑上的某个文件夹操作,

这个文件可以对应映射到虚拟机的web运行目录不是更好,这样,代码在真实机,环境在虚拟机。 

本文介绍,虚拟机的共享文件夹:就是把本地的一个文件夹,映射到linux系统的目录,然后再把linux的code目录挂载到这个目录,这个设备有时真实机的一个文件夹。

====================

 

方案一:VMware 共享文件夹(推荐,配置最简单、同步最实时)

 
该方案依赖 VMware Tools(已预装大概率,缺失则补装),实现物理机文件夹与虚拟机 Web 目录的直接映射,文件修改实时同步,无延迟,且无需复杂命令,适合新手。
 

步骤 1:物理机准备代码目录

 
  1. 在物理机任意位置创建代码文件夹(例如:D:\VM_Web_Code),后续所有开发代码都放在这个文件夹中。
  2. 确保该文件夹无特殊权限限制(Windows 直接创建即可,Linux/macOS 确保有读写权限)。
 

步骤 2:配置 VMware 共享文件夹

 
  1. 打开 VMware Workstation,选中你的 Web 环境虚拟机(可开机配置,也可关机配置,开机配置需重启虚拟机生效)。
  2. 右键虚拟机 → 「设置」→ 切换到「选项」标签页 → 找到「共享文件夹」。
  3. 勾选「始终启用」(推荐,避免每次开机重新配置),然后点击「添加」,启动共享向导。
  4. 向导中点击「下一步」→ 浏览选中物理机创建的D:\VM_Web_Code → 「下一步」。
  5. 自定义共享名称(例如:Web_Code,建议英文无空格),可勾选「只读」(仅开发场景不推荐,需读写权限),点击「完成」→ 「确定」保存设置。
 

步骤 3:虚拟机中挂载共享文件夹到 Web 运行目录

 
情况 A:虚拟机是 Linux 系统(绝大多数 Web 环境为 Linux)
 
  1. 首先确认 VMware Tools 已安装(若未安装,VMware 菜单栏「虚拟机」→ 「安装 VMware Tools」,按照提示完成安装即可)。
  2. 核心操作:将共享文件夹挂载到虚拟机的 Web 运行目录(例如 Nginx/Apache 默认目录/var/www/html,或自定义的/home/user/web)。
    • 步骤 1:创建挂载目录(若 Web 目录已存在,可直接使用,无需新建)
      # 示例:使用系统默认Web目录(需管理员权限,加sudo)
      sudo mkdir -p /var/www/html  # 若已存在,跳过此命令
       
    • 步骤 2:执行挂载命令(实时映射,临时生效,重启虚拟机后需重新挂载)
      # 格式:sudo vmhgfs-fuse .host:/共享名称 虚拟机Web目录 -o allow_other
      sudo vmhgfs-fuse .host:/Web_Code /var/www/html -o allow_other
       
       
    • 步骤 3:验证挂载是否成功
       
      ① 在物理机D:\VM_Web_Code中创建一个测试文件(例如index.php/index.html),写入简单代码:
      <!DOCTYPE html>
      <html>
      <head><title>测试同步</title></head>
      <body>Hello, 物理机代码 → 虚拟机运行!</body>
      </html>
       
      ② 在虚拟机中查看 Web 目录,是否能看到该文件:
      ls /var/www/html
       
      ③ 启动虚拟机的 Web 服务(Nginx/Apache),访问虚拟机 IP(例如192.168.1.100),即可看到物理机编写的页面。
    • 补充:设置开机自动挂载(避免每次重启虚拟机重新执行挂载命令)
      1. 编辑 fstab 配置文件:
        sudo vim /etc/fstab
         
      2. 在文件末尾添加一行(注意替换共享名称和 Web 目录):
        .host:/Web_Code  /var/www/html  fuse.vmhgfs-fuse  defaults,allow_other  0  0 
         
      3. 保存退出(vim 中按Esc→输入:wq),执行以下命令验证配置是否生效(无需重启):
        sudo mount -a

         

 

使用 vmhgfs-fuse 完成 VMware 共享文件夹到 /root 的挂载

apt install -y open-vm-tools open-vm-tools-desktop

 

#vm_share_root是再vm界面为文件夹起的名字

vmhgfs-fuse .host:/vm_share_root /root/docker -o allow_other -o uid=0 -o gid=0

 

vi /etc/fstab

 

posted @ 2026-01-16 10:07  与f  阅读(3)  评论(0)    收藏  举报