我有两个docker镜像,一个提供来自services目录之外的目录的文件,另一个提供服务本身。因此,让image1
成为外部文件的文件,让image2
成为包含服务的文件。
image1
的dockerfile如下:
FROM node:0.10.38
ADD . /opt/services/models
WORKDIR /opt/services/models
RUN npm install
VOLUME /opt/services/models
CMD ["node"]
image2
的dockerfile如下:
FROM 127.0.0.1:5000/models:latest
ADD . /opt/serivces/app
WORKDIR /opt/serivces/app
RUN npm install
EXPOSE 9001
ENTRYPOINT ["node", "app.js"]
我试图让它image2
可以要求image1
中的模块/opt/services/models
image2
似乎不存在image2
。我将这些容器与kubernetes一起运行,我指定要挂载的卷image1
。我有什么遗漏或者我无法访问image3
的文件吗?
编辑1
奇怪的是,当我创建一个与image2几乎相同的image1
时,除了添加不同的目录外,无论我是否指定了卷,都存在来自docker build -t 127.0.0.1:5000/imageX --file=./imageXDockerfile .
的目录。 / p>
编辑2
我还没有真正找到解决方案,但我找到了一个解决方法,让所有Dockerfiles都在项目的根目录中,并添加任何所需的目录(这不是很好,但它有效)。我唯一要做的就是{{1}},以便我可以指定要构建的图像。