Docker:容器应该可以访问另一个容器的目录

时间:2018-11-03 13:30:09

标签: 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

但这无法正常工作,因为我在第二个容器中看不到所需的目录。

1 个答案:

答案 0 :(得分:0)

首先,在您的dockerfile中指定VOLUME变量:

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容器。