我需要访问从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
但这不起作用,因为在第二个容器中看不到所需的目录。
最佳答案
首先,在您的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容器。
关于docker - Docker:容器应该可以访问另一个容器的目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53131817/