Pat*_*607 5 docker visual-studio-code vscode-devcontainer
使用 VSCode devcontainer 我想在我的devcontainer.json. 目前我的devcontainer.json样子是这样的:
{
"name": "NodeJS & TypeScript",
"build": {
"dockerfile": "Dockerfile",
"args": {
"VARIANT": "16-bullseye",
"NPM_PROXY": "http://proxy.domain.com:8080",
"HTTPS_PROXY": "http://proxy.domain.com:8080",
"HTTP_PROXY": "http://proxy.domain.com:8080"
}
},
"settings": {},
"extensions": [
// ...
],
"remoteUser": "node",
"runArgs": ["--env-file", ".devcontainer/.env"]
}
Run Code Online (Sandbox Code Playgroud)
和我的Dockerfile:
ARG VARIANT
FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-${VARIANT}
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends chromium
WORKDIR /usr/app
ARG NPM_PROXY
RUN npm config set https-proxy ${NPM_PROXY} -g
RUN npm i -g @angular/cli
ENV CHROME_BIN=/usr/bin/chromium
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,VARIANT和NPM_PROXYargs 在 中使用Dockerfile,但我HTTP(S)_PROXY也需要 来作为构建参数。我希望这些定义能够从与和位于同一文件夹中的文件devcontainer.json中获取它们。.envdevcontainer.jsonDockerfile
该.env文件如下所示:
HTTP_PROXY="http://proxy.domain.com:8080"
HTTPS_PROXY="http://proxy.domain.com:8080"
http_proxy="http://proxy.domain.com:8080"
https_proxy="http://proxy.domain.com:8080"
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这个目标?当我使用时${localEnv:HTTP_PROXY},它将从我的系统中获取用户环境变量。我不希望这样,因为它有不同的值,我希望它从文件中读取变量.env。任何帮助表示赞赏。
| 归档时间: |
|
| 查看次数: |
4779 次 |
| 最近记录: |