docker - Docker:容器应该可以访问另一个容器的目录
问题描述
我需要访问从 docker 容器到另一个 docker 容器的目录。
在第一个容器中,我正在运行一个 nodeJS 应用程序,并且在tests/e2e
文件夹中有我的 e2e 测试和 webdriverIO 的配置。此外,我不需要持久卷 - 就像我到目前为止所做的那样。只要两个容器都在运行,我只需要测试文件。
$ docker run
--name app_stage
--volume tests:/app/tests
--detach
app:stage
这是该应用程序的 Dockerfile
RUN mkdir -p /app
WORKDIR /app
COPY . /app
RUN npm install
RUN npm run build
EXPOSE 3000
ENV NODE_ENV production
CMD next start
在第二个容器中,我正在运行 webdriverIO,它需要获取存储在其中的第一个容器的测试和配置app/tests
$ docker run
--rm
--volumes-from app_stage
webdriverio wdio
但这不起作用,因为我在第二个容器中看不到所需的目录。
解决方案
首先,VOLUME
在 dockerfile 中指定变量:
RUN mkdir -p /app
WORKDIR /app
COPY . /app
RUN npm install
RUN npm run build
EXPOSE 3000
ENV NODE_ENV production
VOLUME /app/tests
CMD next start
使用您的第一个命令启动 app_stage 容器,然后使用第二个命令启动 webdriverio 容器。
推荐阅读
- python - 如何解决 ValueError:合并两个 Pandas 数据框时必须对左键进行排序?
- c - GCC 链接器。CC3200 - 为什么数据从 SRAM 中的应用程序映像复制到 SRAM 中的另一个位置?
- python - 查找第一次出现的用户并为其赋值
- java - 如何修复随机数组中的这个错误
- excel - Excel VBA 代码性能极慢
- python - BigQuery:此表的表 dml 插入操作过多
- animation - Flutter Widget Test 等待动画
- javascript - 如何在同一行 Qweb 报告上对齐 div。奥多 14
- c# - 如何使用 Include - ThenInclude 查询 IQueryable?
- android - Android WifiP2pManager 发现 - 无法缩小问题范围