【发布时间】:2016-10-16 07:48:35
【问题描述】:
我正在尝试使用带有 docker-machine 的 this 图像在 Mac 上创建本地 magento 安装。我希望将 docker 映像的 /var/www 挂载在我的 mac 项目目录中(即在主机上我的主目录的子文件夹中)。
据我所知:
#docker-compose.yml
web:
image: alexcheng/magento
ports:
- "80:80"
links:
- mysql
env_file:
- env
volumes:
- /var/www:/var/www
mysql:
image: mysql:5.6.23
env_file:
- env
请注意,我在其中添加了一行,应该将 docker 映像的 /var/www 暴露给主机(即虚拟机)。 env 文件包含各种环境变量,安装脚本在 docker image page 上使用。
然后我运行一些命令来创建机器、添加共享卷、永久挂载它并运行安装脚本
在其中创建机器和 SSH
docker-machine create magento
eval (docker-machine env magento)
docker-machine stop magento
VBoxManage sharedfolder add magento-machine --name www --hostpath ~/web/magento-machine --automount
docker-machine start magento
docker-machine ssh magento
在虚拟机上设置永久共享卷
mkdir -p /var/www
sudo mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` www /var/www
exit
回到主机,运行安装脚本
docker exec -it magentomachine_web_1 install-sampledata
docker exec -it magentomachine_web_1 install-magento
这可以将magento机器上的/var/www暴露给我的项目目录。但是,这个文件夹不是 docker 的 /var/www 而是 机器的。真正的 htdocs 位于类似
/mnt/sda1/var/lib/docker/aufs/diff/1d17cf805c6925dead7d0fd1ba432d1b27f50a5a9240f585949aac6fad633790/var/www
如何在 docker-machine 中运行此映像,同时将 /var/www 暴露给我的主机?
【问题讨论】:
-
我投票结束这个问题,因为 Stack Overflow 是一个programming-related 问答网站。您的问题与编程无关。也许你应该把它发到serverfault.com 上?
-
serverfault 上有 8 个 docker-machine 相关问题,stackoverflow 上有 529 个问题。
-
这很好,但这并不意味着它是这里的主题。问题必须是关于编程才能成为主题。
标签: macos magento docker-compose docker-machine