您能告诉我为什么没有在容器中创建目录吗?
这是DockerFile
FROM node:16.13-alpine AS base
WORKDIR /usr/app/test/
RUN npm config set unsafe-perm true
COPY ./test/ .
FROM nginx:1.20-alpine
LABEL version="1.0"
COPY nginx.conf /etc/nginx/nginx.conf
WORKDIR /usr/share/nginx/html
COPY ./test/dist/my-app/ .我创建了一个图像,启动了它,我进入了它,但是没有目录。
/usr/app/test在创建图像时没有错误:
Step 1/9 : FROM node:16.13-alpine AS base
---> 710c8aa630d5
Step 2/9 : WORKDIR /usr/app/test/
---> Running in dbe3994e667a
Removing intermediate container dbe3994e667a
---> 54b36120290d
Step 3/9 : RUN npm config set unsafe-perm true
---> Running in e301f90c084f
Removing intermediate container e301f90c084f
---> ca6dc8541ba5
Step 4/9 : COPY ./test/ .
---> e00bf919a630这是容器里的东西:

发布于 2021-12-08 10:49:02
您的Dockerfile正在定义一个多级建造,您所看到的是预期的行为。
在第二个FROM之前的所有内容(在本例中是FROM nginx:1.20-alpine )都会在最终图像中被丢弃,除非它被复制过来。
如果希望第一个WORKDIR持久保存最终映像,则需要显式复制:
FROM node:16.13-alpine AS base
WORKDIR /usr/app/test/
FROM nginx:1.20-alpine
COPY --from=0 /usr/app/test /usr/app/test
WORKDIR /usr/share/nginx/htmlhttps://stackoverflow.com/questions/70273448
复制相似问题