docker 容器:将符号链接添加到 /var/www 中的 /Users/www/[project] 以访问和提供本地文件
docker container: add symlink to /Users/www/[project] in /var/www to access and serve local files
我正在尝试通过 Lucee docker 容器 (https://hub.docker.com/r/lucee/lucee5/) 在我的 mac 上提供本地 CFML 文件。
我什至将 mac 上的特定文件夹挂载到 docker 图像中的符号链接
docker run -it imagename -v /Users/[username]/www/projectx:/code /bin/bash
所以在 docker 图像中的 bash 上,我现在有 /code。
然后我在 /var/www
.
中创建一个符号链接 ln -s /code projectx
当我提供图像时 运行ning tomcat 同时安装文件夹
docker run -p 1337:8888 -v /Users/[username]/www/projectx:/code [imagename] catalina.sh run
我希望能够访问 http://localhost:1337/projectx
不幸的是它找不到那个文件夹。可能是因为 Lucee 在 运行 时间没有识别或索引文件?
这可能吗?
我看到的结果是在我的 MAC 上开发我的 Coldfusion 应用程序,而在我的 docker 容器上 运行ning Lucee+mysql 并在本地拥有源代码这样我就不必使用 samba 共享或其他方式来编辑我 IDE 中的 coldfusion 文件。 (当我升级到 Sierra 时,Samba 共享停止工作)
您是否考虑过将代码目录简单地挂载到 /var/www
,这是 Lucee Docker 映像中的默认 VOLUME 挂载点?如果您真的希望它位于 /code 子目录中,请在您的主机上拥有该子目录,而不是使用符号链接。
一个简单的方法是使用 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
除非需要在容器的生命周期内更改 /code
的内容,否则您可以在容器构建期间复制或添加它。
如果不是,正如 Simon 上面所建议的那样,将卷直接安装在您想要使用它的地方更有意义。如果您不希望容器更改卷中的任何内容,请将其设置为 RO。
我正在尝试通过 Lucee docker 容器 (https://hub.docker.com/r/lucee/lucee5/) 在我的 mac 上提供本地 CFML 文件。
我什至将 mac 上的特定文件夹挂载到 docker 图像中的符号链接
docker run -it imagename -v /Users/[username]/www/projectx:/code /bin/bash
所以在 docker 图像中的 bash 上,我现在有 /code。
然后我在 /var/www
.
ln -s /code projectx
当我提供图像时 运行ning tomcat 同时安装文件夹
docker run -p 1337:8888 -v /Users/[username]/www/projectx:/code [imagename] catalina.sh run
我希望能够访问 http://localhost:1337/projectx
不幸的是它找不到那个文件夹。可能是因为 Lucee 在 运行 时间没有识别或索引文件?
这可能吗?
我看到的结果是在我的 MAC 上开发我的 Coldfusion 应用程序,而在我的 docker 容器上 运行ning Lucee+mysql 并在本地拥有源代码这样我就不必使用 samba 共享或其他方式来编辑我 IDE 中的 coldfusion 文件。 (当我升级到 Sierra 时,Samba 共享停止工作)
您是否考虑过将代码目录简单地挂载到 /var/www
,这是 Lucee Docker 映像中的默认 VOLUME 挂载点?如果您真的希望它位于 /code 子目录中,请在您的主机上拥有该子目录,而不是使用符号链接。
一个简单的方法是使用 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
除非需要在容器的生命周期内更改 /code
的内容,否则您可以在容器构建期间复制或添加它。
如果不是,正如 Simon 上面所建议的那样,将卷直接安装在您想要使用它的地方更有意义。如果您不希望容器更改卷中的任何内容,请将其设置为 RO。