Simplify node version selection (#973)
This commit is contained in:
Родитель
c0bad0212d
Коммит
09ea63130c
|
@ -24,14 +24,13 @@ RUN pip3 install ansible[azure]
|
|||
ARG INSTALL_AZURE_CLI="true"
|
||||
# [Option] Install Docker CLI
|
||||
ARG INSTALL_DOCKER="true"
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "${INSTALL_AZURE_CLI}" = "true" ]; then bash /tmp/library-scripts/azcli-debian.sh; fi \
|
||||
&& if [ "${INSTALL_AZURE_CLI}" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
&& if [ "${NODE_VERSION}" != "none" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
&& if [ "${INSTALL_DOCKER}" = "true" ]; then \
|
||||
bash /tmp/library-scripts/docker-debian.sh "true" "/var/run/docker-host.sock" "/var/run/docker.sock" "${USERNAME}"; \
|
||||
else \
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"args": {
|
||||
"INSTALL_AZURE_CLI": "true",
|
||||
"INSTALL_DOCKER": "true",
|
||||
"INSTALL_NODE": "true"
|
||||
"NODE_VERSION": "lts"
|
||||
}
|
||||
},
|
||||
"mounts": [
|
||||
|
|
|
@ -20,15 +20,15 @@ While technically optional, this definition includes the Ansible extension. You
|
|||
|
||||
There are a few options you can pick from by updating the following line in `.devcontainer/devcontainer.json`:
|
||||
|
||||
```Dockerfile
|
||||
```jsonc
|
||||
"arg": {
|
||||
"INSTALL_AZURE_CLI": "true",
|
||||
"INSTALL_DOCKER": "true",
|
||||
"INSTALL_NODE": "true"
|
||||
"NODE_VERSION": "lts"
|
||||
}
|
||||
```
|
||||
|
||||
If you plan to use the Azure Cloud Shell for all of your Ansible operations, you can set `"INSTALL_DOCKER": "false"`. Conversely, if you do not plan to use Cloud Shell, you can set `"INSTALL_DOCKER": "false"`. By default, both are installed so you can decide later.
|
||||
If you plan to use the Azure Cloud Shell for all of your Ansible operations, you can set `"INSTALL_DOCKER": "false"`. Conversely, if you do not plan to use Cloud Shell, you can set `"NODE_VERSION": "none"`. By default, both are installed so you can decide later.
|
||||
|
||||
Beyond `git`, this `Dockerfile` includes `zsh`, [Oh My Zsh!](https://ohmyz.sh/), a non-root `vscode` user with `sudo` access, and a set of common dependencies for development.
|
||||
|
||||
|
|
|
@ -21,14 +21,13 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|||
ARG INSTALL_AZURE_CLI="true"
|
||||
# [Option] Install Docker CLI
|
||||
ARG INSTALL_DOCKER="true"
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "${INSTALL_AZURE_CLI}" = "true" ]; then bash /tmp/library-scripts/azcli-debian.sh; fi \
|
||||
&& if [ "${INSTALL_NODE}" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
&& if [ "${NODE_VERSION}" != "none" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
&& if [ "${INSTALL_DOCKER}" = "true" ]; then \
|
||||
bash /tmp/library-scripts/docker-debian.sh "true" "/var/run/docker-host.sock" "/var/run/docker.sock" "${USERNAME}"; \
|
||||
else \
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"TERRAGRUNT_VERSION": "0.28.1",
|
||||
"INSTALL_AZURE_CLI": "true",
|
||||
"INSTALL_DOCKER": "true",
|
||||
"INSTALL_NODE": "true"
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
"mounts": [ "source=/var/run/docker.sock,target=/var/run/docker-host.sock,type=bind" ],
|
||||
|
|
|
@ -31,11 +31,11 @@ You can also choose the specific version of Terraform installed by updating the
|
|||
"TERRAGRUNT_VERSION": "0.28.1"
|
||||
"INSTALL_AZURE_CLI": "true",
|
||||
"INSTALL_DOCKER": "true",
|
||||
"INSTALL_NODE": "true"
|
||||
"NODE_VERSION": "lts"
|
||||
}
|
||||
```
|
||||
|
||||
If you plan to use the Azure Cloud Shell for all of your Terraform operations, you can set `"INSTALL_DOCKER": "false"`. Conversely, if you do not plan to use Cloud Shell, you can set `"INSTALL_DOCKER": "false"`. By default, both are installed so you can decide later.
|
||||
If you plan to use the Azure Cloud Shell for all of your Terraform operations, you can set `"INSTALL_DOCKER": "false"`. Conversely, if you do not plan to use Cloud Shell, you can set `"NODE_VERSION": "none"`. By default, both are installed so you can decide later.
|
||||
|
||||
Beyond `git`, this `Dockerfile` includes `zsh`, [Oh My Zsh!](https://ohmyz.sh/), a non-root `vscode` user with `sudo` access, and a set of common dependencies for development.
|
||||
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
ARG VARIANT=3.1
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-${VARIANT}
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Option] Install Azure CLI
|
||||
ARG INSTALL_AZURE_CLI="false"
|
||||
|
|
|
@ -53,8 +53,7 @@ Given how frequently ASP.NET applications use Node.js for front end code, this c
|
|||
|
||||
```yaml
|
||||
arg:
|
||||
INSTALL_NODE: "true"
|
||||
ARG NODE_VERSION: "10"
|
||||
NODE_VERSION: "14" # Set to "none" to skip Node.js installation
|
||||
```
|
||||
|
||||
If you would like to install the Azure CLI update this line in `.devcontainer/docker-compose.yml`:
|
||||
|
@ -62,8 +61,7 @@ If you would like to install the Azure CLI update this line in `.devcontainer/do
|
|||
```yaml
|
||||
arg:
|
||||
INSTALL_AZURE_CLI: "true"
|
||||
INSTALL_NODE: "true"
|
||||
ARG NODE_VERSION: "10"
|
||||
NODE_VERSION: "lts"
|
||||
```
|
||||
|
||||
If you've already opened your folder in a container, rebuild the container using the **Remote-Containers: Rebuild Container** command from the Command Palette (<kbd>F1</kbd>) so the settings take effect.
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-5.0
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Option] Install Azure CLI
|
||||
ARG INSTALL_AZURE_CLI="false"
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
// Options
|
||||
"INSTALL_NODE": "false",
|
||||
"NODE_VERSION": "lts/*",
|
||||
"INSTALL_AZURE_CLI": "false",
|
||||
"UPGRADE_PACKAGES": "false"
|
||||
|
|
|
@ -111,21 +111,19 @@ If you've already opened your folder in a container, rebuild the container using
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with an ASP.NET back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "3.1",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
If you would like to install the Azure CLI update you can set the `INSTALL_AZURE_CLI` argument line in `.devcontainer/devcontainer.json`:
|
||||
|
||||
```Dockerfile
|
||||
```json
|
||||
"args": {
|
||||
"VARIANT": "3.1",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "14",
|
||||
"INSTALL_AZURE_CLI": "true"
|
||||
}
|
||||
```
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
ARG VARIANT=3.1
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:${VARIANT}
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Option] Install Azure CLI
|
||||
ARG INSTALL_AZURE_CLI="false"
|
||||
|
|
|
@ -8,9 +8,9 @@ services:
|
|||
args:
|
||||
# [Choice] Update 'VARIANT' to pick a .NET Core version: 2.1, 3.1, 5.0
|
||||
VARIANT: 3.1
|
||||
# Options
|
||||
INSTALL_NODE: "false"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
NODE_VERSION: "lts/*"
|
||||
# [Option] Install Azure CLI
|
||||
INSTALL_AZURE_CLI: "false"
|
||||
# On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000.
|
||||
USER_UID: 1000
|
||||
|
|
|
@ -93,8 +93,7 @@ Given how frequently ASP.NET applications use Node.js for front end code, this c
|
|||
```yaml
|
||||
args:
|
||||
VARIANT: "3.1"
|
||||
INSTALL_NODE: "true"
|
||||
NODE_VERSION: "10"
|
||||
NODE_VERSION: "14" # Set to "none" to skip Node.js installation
|
||||
```
|
||||
|
||||
If you would like to install the Azure CLI update you can set the `INSTALL_AZURE_CLI` argument line in `.devcontainer/docker-compose.yml`:
|
||||
|
@ -102,8 +101,7 @@ If you would like to install the Azure CLI update you can set the `INSTALL_AZURE
|
|||
```yaml
|
||||
args:
|
||||
VARIANT: "3.1"
|
||||
INSTALL_NODE: "true"
|
||||
NODE_VERSION: "10"
|
||||
NODE_VERSION: "14"
|
||||
INSTALL_AZURE_CLI: "true"
|
||||
```
|
||||
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
ARG VARIANT=3.1
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:0-${VARIANT}
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Option] Install Azure CLI
|
||||
ARG INSTALL_AZURE_CLI="false"
|
||||
|
|
|
@ -16,13 +16,12 @@ ARG USER_GID=$USER_UID
|
|||
RUN bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Azure CLI
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
// Update 'VARIANT' to pick a .NET Core version: 2.1, 3.1, 5.0
|
||||
"VARIANT": "5.0",
|
||||
// Options
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "lts/*",
|
||||
"INSTALL_AZURE_CLI": "false"
|
||||
}
|
||||
|
|
|
@ -116,21 +116,19 @@ If you've already opened your folder in a container, rebuild the container using
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with an ASP.NET back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "3.1",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
If you would like to install the Azure CLI update you can set the `INSTALL_AZURE_CLI` argument line in `.devcontainer/devcontainer.json`:
|
||||
|
||||
```Dockerfile
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "3.1",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "14",
|
||||
"INSTALL_AZURE_CLI": "true"
|
||||
}
|
||||
```
|
||||
|
|
|
@ -17,15 +17,16 @@ ARG COMMON_SCRIPT_SHA="dev-mode"
|
|||
# Optional Settings for Phoenix
|
||||
ARG PHOENIX_VERSION="1.5.4"
|
||||
|
||||
# [Optional] Settings for installing Node.js.
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_SCRIPT_SOURCE="https://raw.githubusercontent.com/microsoft/vscode-dev-containers/main/script-library/node-debian.sh"
|
||||
ARG NODE_SCRIPT_SHA="dev-mode"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true
|
||||
ENV PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="lts/*"
|
||||
|
||||
# Install needed packages and setup non-root user. Use a separate RUN statement to add your own dependencies.
|
||||
RUN apt-get update \
|
||||
&& export DEBIAN_FRONTEND=noninteractive \
|
||||
|
@ -35,7 +36,7 @@ RUN apt-get update \
|
|||
&& /bin/bash /tmp/common-setup.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" \
|
||||
#
|
||||
# [Optional] Install Node.js for use with web applications
|
||||
&& if [ "$INSTALL_NODE" = "true" ]; then \
|
||||
&& if [ "$NODE_VERSION" != "none" ]; then \
|
||||
curl -sSL ${NODE_SCRIPT_SOURCE} -o /tmp/node-setup.sh \
|
||||
&& ([ "${NODE_SCRIPT_SHA}" = "dev-mode" ] || (echo "${COMMON_SCRIPT_SHA} */tmp/node-setup.sh" | sha256sum -c -)) \
|
||||
&& /bin/bash /tmp/node-setup.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; \
|
||||
|
|
|
@ -11,7 +11,6 @@ services:
|
|||
# Phoenix Version: 1.4.17, 1.5.4, ...
|
||||
PHOENIX_VERSION: "1.5.7"
|
||||
# Node Version: 10, 11, ...
|
||||
INSTALL_NODE: "true"
|
||||
NODE_VERSION: "10"
|
||||
|
||||
volumes:
|
||||
|
|
|
@ -40,8 +40,7 @@ services:
|
|||
args:
|
||||
# ...
|
||||
# Node Version: 10, 11, ...
|
||||
INSTALL_NODE: true
|
||||
NODE_VERSION: 10
|
||||
NODE_VERSION: 14
|
||||
# ...
|
||||
```
|
||||
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
ARG VARIANT=1
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/go:0-${VARIANT}
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" = "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
|
|
|
@ -21,13 +21,12 @@ ENV GO111MODULE=auto
|
|||
RUN bash /tmp/library-scripts/go-debian.sh "none" "/usr/local/go" "${GOPATH}" "${USERNAME}" "false" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Remove library scripts for final image
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
// Update the VARIANT arg to pick a version of Go: 1, 1.16, 1.15
|
||||
"VARIANT": "1",
|
||||
// Options
|
||||
"INSTALL_NODE": "false",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -48,11 +48,10 @@ Alternatively, you can use the contents of `base.Dockerfile` to fully customize
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Go back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "1",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10"
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -9,10 +9,9 @@ ARG GRADLE_VERSION=""
|
|||
RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
|
||||
&& if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
|
|
|
@ -13,10 +13,9 @@ RUN su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && if [ "
|
|||
&& if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
|
||||
&& if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
|
||||
|
||||
# [Optional] Install a version of Node.js using nvm for front end dev
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
"args": {
|
||||
"INSTALL_MAVEN": "false",
|
||||
"INSTALL_GRADLE": "false",
|
||||
"INSTALL_NODE": "false",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -74,10 +74,9 @@ You can also specify the version of Gradle or Maven if needed.
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Java back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can enable installation and change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10"
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -11,10 +11,9 @@ ARG GRADLE_VERSION=""
|
|||
RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
|
||||
&& if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" = "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
|
|
|
@ -30,13 +30,12 @@ RUN bash /tmp/library-scripts/java-debian.sh "none" "${SDKMAN_DIR}" "${USERNAME}
|
|||
&& if [ "${INSTALL_GRADLE}" = "true" ]; then bash /tmp/library-scripts/gradle-debian.sh "${GRADLE_VERSION:-latest}" "${SDKMAN_DIR}" ${USERNAME} "true"; fi \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH="${NVM_DIR}/current/bin:${PATH}"
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Remove library scripts for final image
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
// Options
|
||||
"INSTALL_MAVEN": "false",
|
||||
"INSTALL_GRADLE": "false",
|
||||
"INSTALL_NODE": "false",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -83,11 +83,10 @@ You can also specify the version of Gradle or Maven if needed.
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Java back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can enable installation and change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "11",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "10" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -15,10 +15,9 @@ RUN if [ "$USER_GID" != "1000" ] || [ "$USER_UID" != "1000" ]; then groupmod --g
|
|||
# Install php-mysql driver
|
||||
RUN docker-php-ext-install mysqli pdo pdo_mysql
|
||||
|
||||
# [Optional] Install a version of Node.js using nvm for front end dev
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
|
|
|
@ -8,8 +8,7 @@ services:
|
|||
args:
|
||||
# [Choice] PHP version: 7, 7.4, 7.3
|
||||
VARIANT: "7"
|
||||
# [Option] Install Node.js
|
||||
INSTALL_NODE: "true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
NODE_VERSION: "lts/*"
|
||||
# On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000.
|
||||
USER_UID: 1000
|
||||
|
|
|
@ -41,8 +41,7 @@ Given how frequently web applications use Node.js for front end code, this conta
|
|||
```yaml
|
||||
args:
|
||||
VARIANT: "7"
|
||||
INSTALL_NODE: "true"
|
||||
NODE_VERSION: "10"
|
||||
NODE_VERSION: "10" # Set to "none" to skip Node.js installation
|
||||
```
|
||||
|
||||
You also can connect to MariaDB from an external tool when using VS Code by updating `.devcontainer/devcontainer.json` as follows:
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
ARG VARIANT=7
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/php:${VARIANT}
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
|
|
|
@ -33,13 +33,12 @@ RUN curl -sSL https://getcomposer.org/installer | php \
|
|||
&& chmod +x composer.phar \
|
||||
&& mv composer.phar /usr/local/bin/composer
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then /bin/bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Remove library scripts for final image
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
"args": {
|
||||
// Update VARIANT to pick a PHP version: 8, 8.0, 7, 7.4, 7.3
|
||||
"VARIANT": "8",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -50,11 +50,10 @@ Alternatively, you can use the contents of `base.Dockerfile` to fully customize
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a PHP back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "7",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10"
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -15,13 +15,12 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|||
&& bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" \
|
||||
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Remove library scripts for final image
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
"context": "..",
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -60,10 +60,9 @@ If you've already opened your folder in a container, rebuild the container using
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Python back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10"
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
FROM mcr.microsoft.com/vscode/devcontainers/miniconda:0-3
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# Copy environment.yml (if found) to a temp location so we update the environment. Also
|
||||
# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists.
|
||||
|
|
|
@ -25,13 +25,12 @@ ENV PATH=${PATH}:${PIPX_BIN_DIR}
|
|||
RUN bash /tmp/library-scripts/python-debian.sh "none" "/opt/conda" "${PIPX_HOME}" "${USERNAME}" "false" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Remove library scripts for final image
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
"context": "..",
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -60,10 +60,9 @@ If you've already opened your folder in a container, rebuild the container using
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Python back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10"
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -9,10 +9,9 @@ ARG USER_UID=1000
|
|||
ARG USER_GID=$USER_UID
|
||||
RUN if [ "$USER_GID" != "1000" ] || [ "$USER_UID" != "1000" ]; then groupmod --gid $USER_GID vscode && usermod --uid $USER_UID --gid $USER_GID vscode; fi
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" = "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] If your requirements rarely change, uncomment this section to add them to the image.
|
||||
# COPY requirements.txt /tmp/pip-tmp/
|
||||
|
|
|
@ -8,8 +8,7 @@ services:
|
|||
args:
|
||||
# [Choice] Python version: 3, 3.8, 3.7, 3.6
|
||||
VARIANT: 3
|
||||
# [Choice] Install Node.js
|
||||
INSTALL_NODE: "true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
NODE_VERSION: "lts/*"
|
||||
# On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000.
|
||||
USER_UID: 1000
|
||||
|
|
|
@ -47,11 +47,10 @@ network_mode: service:db
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Python back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/docker-compose.yml`.
|
||||
|
||||
```json
|
||||
```yaml
|
||||
args:
|
||||
VARIANT: 3.7
|
||||
INSTALL_NODE: "true",
|
||||
NODE_VERSION: "10"
|
||||
NODE_VERSION: "14" # Set to "none" to skip Node.js installation
|
||||
```
|
||||
|
||||
### Installing or updating Python utilities
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
ARG VARIANT=3
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/python:${VARIANT}
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image.
|
||||
# COPY requirements.txt /tmp/pip-tmp/
|
||||
|
|
|
@ -27,13 +27,12 @@ ENV PATH=${PATH}:${PIPX_BIN_DIR}
|
|||
RUN bash /tmp/library-scripts/python-debian.sh "none" "/usr/local" "${PIPX_HOME}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Remove library scripts for final image
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
// Update 'VARIANT' to pick a Python version: 3, 3.6, 3.7, 3.8, 3.9
|
||||
"VARIANT": "3",
|
||||
// Options
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -53,11 +53,10 @@ Beyond Python and `git`, this image / `Dockerfile` includes a number of Python t
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Python back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "3",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10"
|
||||
"NODE_VERSION": "10" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ RUN gem install rails webdrivers
|
|||
# The value is a comma-separated list of allowed domains
|
||||
ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev"
|
||||
|
||||
# [Choice] Node.js version: lts, 16, 14, 12
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ services:
|
|||
args:
|
||||
# [Choice] Ruby version: 3, 3.0, 2, 2.7, 2.6, 2.5
|
||||
VARIANT: 2
|
||||
# [Choice] Install Node.js
|
||||
# [Choice] Node.js version: lts, 16, 14, 12
|
||||
NODE_VERSION: "lts/*"
|
||||
|
||||
volumes:
|
||||
|
|
|
@ -79,7 +79,7 @@ This container also includes Node.js. You can change the version of Node.js by u
|
|||
```yaml
|
||||
args:
|
||||
VARIANT: 2.6
|
||||
NODE_VERSION: "12"
|
||||
NODE_VERSION: "12" # Set to "none" to skip Node.js installation
|
||||
```
|
||||
|
||||
### Adding the definition to your folder
|
||||
|
|
|
@ -9,6 +9,7 @@ RUN gem install rails webdrivers
|
|||
# The value is a comma-separated list of allowed domains
|
||||
ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev"
|
||||
|
||||
# [Choice] Node.js version: lts, 16, 14, 12
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
|
||||
|
||||
|
|
|
@ -24,10 +24,10 @@ While this definition should work unmodified, you can select the version of Ruby
|
|||
|
||||
This container also includes Node.js. You can change the version of Node.js by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "2",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
|
|||
# Install Sinatra
|
||||
RUN gem install sinatra sinatra-reloader thin data_mapper dm-sqlite-adapter
|
||||
|
||||
# [Choice] Node.js version: lts, 16, 14, 12
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
|
||||
|
||||
|
|
|
@ -26,11 +26,10 @@ While this definition should work unmodified, you can select the version of Ruby
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Ruby back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "2",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
ARG VARIANT=2
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
|
|
|
@ -21,13 +21,12 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
|||
&& bash /tmp/library-scripts/ruby-debian.sh "none" "${USERNAME}" "true" "true" \
|
||||
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="true"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Remove library scripts for final image
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
// Update 'VARIANT' to pick a Ruby version: 3, 3.0, 2, 2.7, 2.6
|
||||
"VARIANT": "3",
|
||||
// Options
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -50,11 +50,10 @@ Alternatively, you can use the contents of `base.Dockerfile` to fully customize
|
|||
|
||||
Given JavaScript front-end web client code written for use in conjunction with a Ruby back-end often requires the use of Node.js-based utilities to build, this container also includes `nvm` so that you can easily install Node.js. You can change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "2",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10"
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -23,14 +23,13 @@ RUN git clone https://github.com/vknabel/sourcekite \
|
|||
&& ln -s /usr/lib/libsourcekitdInProc.so /usr/lib/sourcekitdInProc \
|
||||
&& cd sourcekite && make install PREFIX=/usr/local -j2
|
||||
|
||||
# [Option] Install Node.js
|
||||
ARG INSTALL_NODE="false"
|
||||
ARG NODE_VERSION="lts/*"
|
||||
# [Choice] Node.js version: none, lts, 16, 14, 12, 10
|
||||
ARG NODE_VERSION="none"
|
||||
ENV NVM_DIR=/usr/local/share/nvm
|
||||
ENV NVM_SYMLINK_CURRENT=true \
|
||||
PATH=${NVM_DIR}/current/bin:${PATH}
|
||||
COPY library-scripts/node-debian.sh /tmp/library-scripts/
|
||||
RUN if [ "$INSTALL_NODE" = "true" ]; then /bin/bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}"; fi \
|
||||
RUN bash /tmp/library-scripts/node-debian.sh "${NVM_DIR}" "${NODE_VERSION}" "${USERNAME}" \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/library-scripts
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages you may want.
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
// Update the VARIANT arg to pick a Swift version
|
||||
"VARIANT": "5.3",
|
||||
// Options
|
||||
"INSTALL_NODE": "false",
|
||||
"NODE_VERSION": "lts/*"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -24,11 +24,10 @@ While the definition itself works unmodified, you can select the version of Swif
|
|||
|
||||
Given how frequently web applications use Node.js for front end code, this container also includes an optional install of Node.js. You can enable installation and change the version of Node.js installed or disable its installation by updating the `args` property in `.devcontainer/devcontainer.json`.
|
||||
|
||||
```json
|
||||
```jsonc
|
||||
"args": {
|
||||
"VARIANT": "4",
|
||||
"INSTALL_NODE": "true",
|
||||
"NODE_VERSION": "10",
|
||||
"NODE_VERSION": "14" // Set to "none" to skip Node.js installation
|
||||
}
|
||||
```
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче