Mar*_*dez 2 docker docker-compose ddev
我已经配置了 DDEV Drupal 环境,需要在其中为我的主题运行 Pattern Lab。这个环境将由我的学生使用,他们可能不熟悉在本地计算机上安装 Node 或 Node 依赖工具(Pattern Lab 需要 Node)。作为解决方法,我将 Pattern Lab 设置为在 DDEV 的 Web 容器中运行。我遇到的问题是,由于 Pattern Lab 在 DDEV 容器中运行,我无法在我的主机上访问它。有没有人做过类似的事情来将 Docker 端口暴露给主机?
在底层,DDEV 使用 docker-compose 来定义和运行构成项目本地环境的多个容器。docker-compose 支持定义多个 compose 文件,以方便在文件和项目之间共享 Compose 配置,DDEV 旨在利用此功能。以下是我为解决此问题所采取的步骤:
docker-compose*.yaml文件:docker-compose.patternlab.yaml. 文件名的第二部分 ( patternlab) 可以是您想要的任何内容。使用与您尝试实现的操作、应用程序或服务相关的名称是有意义的。# Override the web container's standard HTTP_EXPOSE and HTTPS_EXPOSE services
# to expose port 3000 of DDEV's web container.
version: '3.6'
services:
web:
# ports are a list of exposed *container* ports
ports:
- "3000"
environment:
- HTTP_EXPOSE=${DDEV_ROUTER_HTTP_PORT}:80,${DDEV_MAILHOG_PORT}:8025,3001:3000
- HTTPS_EXPOSE=${DDEV_ROUTER_HTTPS_PORT}:80,${DDEV_MAILHOG_HTTPS_PORT}:8025,3000:3000
Run Code Online (Sandbox Code Playgroud)
现在,我可以通过访问我的站点 URL 并根据我使用的协议附加端口 3000 或 3001 来访问我的主机中的 Pattern Lab。像这样:
https://mysite.ddev.site:3000或http://mysite.ddev.site:3001.
有关使用 docker compose 定义新服务的更多信息,请阅读 DDEV 文档。
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |