无法将项目目录中的配置文件复制到/etc/nginx/conf.d/default.conf
源文件位置: /app/nginix.conf
COPY nginx.conf /etc/nginx/conf.d/default.conf
目的地:/etc/nginx/conf.d/default.conf
Docker文件中的步骤:
Tried the multi stage build:
- FROM node:8.9.0 as buid
- WORKDIR /app
- COPY package.json package-lock.json ./
- RUN npm install
- COPY . ./
- RUN npm run build
- FROM nginx:alpine
- RUN mkdir -p /var/www/html/client
- COPY --from=buid /app/nginix.conf /etc/nginx/conf.d/default.conf
- COPY --from=buid /app/build/ /var/www/html/client
尝试注释第一个复制命令,它能够复制构建,并且很好。 当它能够在应用程序目录中找到该版本时,为什么无法找到同样位于该目录中的nginix.conf文件,执行ls -la并看到了nginix.conf文件。
TIA
答案 0 :(得分:2)
如果源文件路径为<grid :is-busy="gridIsBusy" :key="receipt.id" :fields="gridFields" :items="gridItems">
<template slot="mass-buttons">
<b-button @click.prevent="massDestroy">Odstranit vybrané</b-button>
<b-button @click.prevent="massUnassign">Zrušit přiřazení pro vybrané</b-button>
</template>
<template slot="mass-checkbox-all">
<b-form-checkbox @change="checkAll"></b-form-checkbox>
</template>
<template slot="action-buttons" slot-scope="data">
<b-button v-b-tooltip.hover title="{{ __('Odstranit příjemku') }}" variant="danger" @click.prevent="deleteItem(data.data.item.id)"><i class="fa fa-times"></i></b-button>
<b-button v-b-tooltip.hover title="{{ __('Zrušit přiřazení') }}" @click.prevent="unassignItem(data.data.item.id)"><i class="fa fa-ban"></i></b-button>
</template>
</grid>
,则ockefile应包含:
/app/nginix.conf
如果您正在主机上的COPY /app/nginx.conf /etc/nginx/conf.d/default.conf
目录中运行docker build
命令,则上面的dockerfile应该可以工作。
更新:
如果您期望/app
Docker映像的/app/nginx.conf文件出现在node
映像中,则需要使用multi-stage Docker构建。
将您的nginx:alpine
更改为
dockerfile
这会将FROM node as build
WORKDIR /app
COPY package json files
RUN npm build
FROM nginx:alpine
COPY --from=build /app/nginx.conf /etc/nginx/conf.d/default.conf
文件从/app/nginx.conf
图像复制到node
图像。
答案 1 :(得分:0)
如果有人还在为此苦苦挣扎......
将WORKDIR从应用程序更改为builddir可行!
FROM node:alpine as builder
WORKDIR '/builddir'
COPY package.json .
RUN npm install
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /builddir/build /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]