我正在尝试在构建过程中使用已安装的卷目录,但它现在未安装或未正确安装。
搬运工-compose.yml
version: '2'
services:
assoi:
restart: on-failure
build:
context: ./assoi
expose:
- "4129"
links:
- assoi-redis
- assoi-postgres
- assoi-mongo
- assoi-rabbit
volumes:
- ./ugmk:/www
command: pm2 start /www/ugmk.json
...
Dockerfile
...
WORKDIR /www
RUN ls -la
RUN npm i
RUN node install.js
...
sudo docker-compose build
出
...
Step 12 : WORKDIR /www
---> Using cache
---> 73504ed64194
Step 13 : RUN ls -al
---> Running in 37bb9f70d4ac
total 8
drwxr-xr-x 2 root root 4096 Aug 22 13:31 .
drwxr-xr-x 65 root root 4096 Aug 22 14:05 ..
---> be1ac6edce56
...
答案 0 :(得分:1)
在构建期间,您不安装或更具体地说,您无法安装任何卷。
你做的是COPY,所以在你的情况下
COPY ./ugmk /www
WORKDIR /www
RUN ls -la
RUN npm i
RUN node install.js
卷适用于容器,而不适用于映像 - 卷应存储持久的用户生成数据。根据定义,这只能在运行时期间发生,因此对于“容器”。
尽管如此,上层COPY
是您希望实现“使用预部署/资产编译的应用程序构建映像”的默认实践。