我正在尝试通过 Lucee docker 容器 ( https://hub.docker.com/r/lucee/lucee5/ ) 在我的 Mac 上提供本地 CFML 文件。
我到目前为止已将 mac 上的特定文件夹安装到 docker 镜像中的符号链接(symbolic link)
docker run -it imagename -v/Users/[用户名]/www/projectx:/code/bin/bash
因此,在 docker 镜像中的 bash 上,我现在有了/code。
然后,我在 /var/www
中创建一个符号链接(symbolic link) ln -s/code projectx
。
当我提供运行 tomcat 的图像时,同时还安装文件夹
docker run -p 1337:8888 -v/Users/[用户名]/www/projectx:/code [imagename] catalina.sh run
我希望能够访问http://localhost:1337/projectx
不幸的是它找不到该文件夹。可能是因为 Lucee 在运行时无法识别或索引文件?
这可能吗?
我看到的结果是在我的 MAC 上开发 Coldfusion 应用程序,同时在我的 docker 容器上运行 Lucee+mysql 并在本地拥有源代码,这样我就不必使用 samba 共享或其他方式来实现在我的 IDE 中编辑 Coldfusion 文件。 (当我升级到 Sierra 时,Samba 共享停止工作)
最佳答案
您是否考虑过简单地将代码目录挂载到 /var/www
上,这是 Lucee Docker 镜像中的默认 VOLUME 挂载点?如果您确实希望它位于/code 子目录中,则将该子目录放在您的主机上,而不是使用符号链接(symbolic link)。
一个简单的方法是使用 docker-compose,例如以下 docker-compose.yml
version: '2'
services:
web:
image: lucee/lucee5
ports:
- "1337:8888"
volumes:
- /Users/[username]/www/projectx:/var/www
然后您可以使用docker-compose up
来运行它
关于 docker 容器: add symlink to/Users/www/[project] in/var/www to access and serve local files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205654/