Rumah  >  Soal Jawab  >  teks badan

Mengapakah pembolehubah persekitaran saya tidak ditentukan semasa menggunakan AWS?

Saya sedang membangunkan aplikasi vue. Saya menetapkan pembolehubah persekitaran dalam fail yang dipanggil "config.ts" yang mengandungi kod yang serupa dengan:

export const configs = {
  baseURL:
    process.env.VUE_APP_API_BASEURL ||
    'http://test.api.co/',
}

Saya menguji pembolehubah persekitaran secara setempat menggunakan .env seperti yang ditunjukkan di bawah

VUE_APP_API_BASEURL=https://test2.api.com

Dan ia berfungsi dengan baik.

Saya kemudian melabuhkan aplikasi menggunakan fail Docker seperti ini:

FROM private_image_container/node:v16 as build-stage

# declare args
ARG VUE_APP_API_BASEURL

# set env variables
ENV VUE_APP_API_BASEURL=$VUE_APP_API_BASEURL
RUN echo "VUE_APP_API_BASEURL=$VUE_APP_API_BASEURL" > .env
WORKDIR /app
COPY package.json ./
COPY yarn.lock ./
RUN yarn
COPY . .
RUN yarn build

# production stage
FROM private_image_container/nginx:latest as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Apabila menggunakan aplikasi, pembolehubah tidak kelihatan walaupun ia ditakrifkan dalam definisi tugas.

P粉008829791P粉008829791204 hari yang lalu356

membalas semua(1)saya akan balas

  • P粉916553895

    P粉9165538952024-03-29 17:15:12

    Jadi saya menghadapi masalah ini kerana orang DevOp kami menegaskan bahawa kami mempunyai pembolehubah persekitaran masa jalan.

    Penyelesaian yang saya bangunkan ialah menulis skrip bash yang menyuntik skrip untuk melampirkan konfigurasi pada objek tetingkap, menjadikannya boleh diakses sebagai masa jalan.

    balas
    0
  • Batalbalas