docker 容器: add symlink to/Users/www/[project] in/var/www to access and serve local files

标签 docker coldfusion lucee

我正在尝试通过 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/

相关文章:

linux - docker "Unable to find group docker"使用 "--group-add docker"

docker - Docker Couchbase:无法使用入口点脚本中的curl连接到端口8091

macos - 如何在Mac上还原mongo Docker容器

asp.net - Web 服务需要一个 DataSet 对象,我如何通过 ColdFusion 或原始 XML 提供该对象?

ColdFusion CommandBox - 禁止消息

java - Lucee Java CPU 使用率突然升高

ruby - Alpine linux 3.5和ruby 2.0错误?

c# - 比较 C# 和 ColdFusion 之间的密码哈希 (CFMX_COMPAT)

coldfusion - 如何在 ColdFusion 9 EXTJS 网格列上设置 typeAhead=true?

debugging - 线路调试Lucee应用程序