diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5008ddfcf5..0000000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..73be94f448 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +**/bin +**/obj +*.DS_Store +*.pyc +Thumbs.db +**/.build +**/node_modules +*.out +*.log +**/.vscode/ipch diff --git a/README.md b/README.md index d9b9a40c2d..802cb22c1d 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,35 @@ -# Development Containers +# Visual Studio Code Remote Development Container Definitions -See [headless-containers](https://github.com/Microsoft/vscode-docs-pr/blob/master/docs/headless/headless-containers.md). +A **development container** is a running Docker container that comes with a basic tool stack (Python, node, Go, etc.) and its prerequisites (e.g. `pylint` for Python). This container may be used to actually run an application or be focused exclusively on sandboxing tools, libraries, runtimes, or other utilities that need to be run against a codebase. -# Extension Authors +Visual Studio Code Remote allows you to open any folder inside (or mounted into) a dev container and take advantage of VS Code's full feature set. When using the capability, VS Code selectively runs certain extensions in the container to optimize your experience. The result is that VS Code can provide a local-quality development experience including full IntelliSense, debugging, and more regardless of where your code is located. -See [headless-extensions](https://github.com/Microsoft/vscode-docs-pr/blob/master/docs/headless/headless-extensions.md). +**[See here to learn more about VS Code Remote](https://aka.ms/vscode-remote)**. -# Reporting Issues +This repository contains a set of **dev container definitions** made up of files like `devContainer.json` that can be added to existing projects to get you up and running in a containerized environment. + +## Trying a definition + +1. Open a `containers` sub-folder +2. Check out the README to see if there are any manual steps +3. Clone this repository or copy the contents of the folder to your machine +4. Run the **Remote: Open Folder in Container...** command in VS Code +5. Select the definition folder in the "open" dialog + +Many definitions include a `test-project` that you can use to see the dev container in action. + +## Using a definition + +You can either: + +- Run **Remote: Create Container Configuration File...** command in VS Code and pick the definition. + +- Manually copy the contents of one of the `containers` sub-folders into your project. When manually copying, note that some definitions contain a `test-project` folder and/or a `.vscode/launch.json`, `.vscode/settings.json` or `.vscode/tasks.json` file that can be omitted. + +## Contents + +- `containers` - Dev container definition folders. +- `container-templates` - Templates for creating your own container definitions in your project or for contributing back to this repository. + +## Contributing -When reporting issues please file them against the https://github.com/Microsoft/vscode-remote/issues repository. diff --git a/container-templates/docker-compose/.vscode/devContainer.json b/container-templates/docker-compose/.vscode/devContainer.json new file mode 100644 index 0000000000..252e451312 --- /dev/null +++ b/container-templates/docker-compose/.vscode/devContainer.json @@ -0,0 +1,9 @@ +{ + "name": "Dev Container Definition Template - Docker Compose", + "dockerComposeFile": "docker-compose.dev-container.yml", + "service": "your-service-name-here", + "volume": "app", + "extensions": [ + "mutantdino.resourcemonitor" + ] +} \ No newline at end of file diff --git a/container-templates/docker-compose/.vscodeignore b/container-templates/docker-compose/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/container-templates/docker-compose/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/django-container/db.sqlite3 b/container-templates/docker-compose/README.md similarity index 100% rename from dev-containers/django-container/db.sqlite3 rename to container-templates/docker-compose/README.md diff --git a/container-templates/docker-compose/dev-container.dockerfile b/container-templates/docker-compose/dev-container.dockerfile new file mode 100644 index 0000000000..41f5518a58 --- /dev/null +++ b/container-templates/docker-compose/dev-container.dockerfile @@ -0,0 +1,22 @@ +# ************************************************************************** +# * Note: A dev-container.dockerfile is optional when using Docker Compose * +# * but has been included here for completeness. * +# ************************************************************************** + +# Debian and Ubuntu based images are supported. Alpine images are not yet supported. +FROM ubuntu:1804 + +# Install common tools developers typically will need like git +RUN apt-get update \ + && apt-get install -y git + +# ***************************************************** +# * Add steps for installing needed dependencies here * +# ***************************************************** + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/container-templates/docker-compose/docker-compose.dev-container.yml b/container-templates/docker-compose/docker-compose.dev-container.yml new file mode 100644 index 0000000000..b17f63753c --- /dev/null +++ b/container-templates/docker-compose/docker-compose.dev-container.yml @@ -0,0 +1,15 @@ +version: '3' +services: + your-service-name-here: + build: + context: . + dockerfile: dev-container.dockerfile # Using a Dockerfile is optional, but included for completeness. + + ports: + - "3000:3000" # Application port to forward + + volumes: + - .:/app # This is where VS Code should expect to find your project's source code, value of "volume" in .vscode/devContainer.json + + command: sleep infinity # This prevents the container from shutting down if you stop your application + diff --git a/container-templates/dockerfile/.vscode/devContainer.json b/container-templates/dockerfile/.vscode/devContainer.json new file mode 100644 index 0000000000..844eea8fbf --- /dev/null +++ b/container-templates/dockerfile/.vscode/devContainer.json @@ -0,0 +1,9 @@ +{ + "name": "Dev Container Definition Template - Dockerfile", + "dockerFile": "dev-container.dockerfile", + "appPort": 3000, + "extensions": [ + "mutantdino.resourcemonitor" + ], + "runArgs": [] +} \ No newline at end of file diff --git a/container-templates/dockerfile/.vscodeignore b/container-templates/dockerfile/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/container-templates/dockerfile/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/django-container/web_project/__init__.py b/container-templates/dockerfile/README.md similarity index 100% rename from dev-containers/django-container/web_project/__init__.py rename to container-templates/dockerfile/README.md diff --git a/container-templates/dockerfile/dev-container.dockerfile b/container-templates/dockerfile/dev-container.dockerfile new file mode 100644 index 0000000000..c156457a95 --- /dev/null +++ b/container-templates/dockerfile/dev-container.dockerfile @@ -0,0 +1,17 @@ +# Debian and Ubuntu based images are supported. Alpine images are not yet supported. +FROM ubuntu:1804 + +# Install common tools developers typically will need +RUN apt-get update \ + && apt-get install -y git + +# ***************************************************** +# * Add steps for installing needed dependencies here * +# **************************************************** + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/container-templates/image/.vscode/devContainer.json b/container-templates/image/.vscode/devContainer.json new file mode 100644 index 0000000000..1393d6ec6c --- /dev/null +++ b/container-templates/image/.vscode/devContainer.json @@ -0,0 +1,9 @@ +{ + "name": "Dev Container Definition Template - Container Image", + "image": "ubuntu:1804", + "appPort": 3000, + "extensions": [ + "mutantdino.resourcemonitor" + ], + "runArgs": [] +} \ No newline at end of file diff --git a/container-templates/image/.vscodeignore b/container-templates/image/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/container-templates/image/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/container-templates/image/README.md b/container-templates/image/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dev-containers/azure-cli-container/.vscode/devContainer.json b/containers/azure-cli/.vscode/devContainer.json similarity index 94% rename from dev-containers/azure-cli-container/.vscode/devContainer.json rename to containers/azure-cli/.vscode/devContainer.json index f198a7e225..4123c0062f 100644 --- a/dev-containers/azure-cli-container/.vscode/devContainer.json +++ b/containers/azure-cli/.vscode/devContainer.json @@ -1,7 +1,7 @@ -{ - "name": "Azure CLI", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "ms-vscode.azurecli" - ] +{ + "name": "Azure CLI", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "ms-vscode.azurecli" + ] } \ No newline at end of file diff --git a/containers/azure-cli/.vscodeignore b/containers/azure-cli/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/azure-cli/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/azure-cli/dev-container.dockerfile b/containers/azure-cli/dev-container.dockerfile new file mode 100644 index 0000000000..4a65a84932 --- /dev/null +++ b/containers/azure-cli/dev-container.dockerfile @@ -0,0 +1,18 @@ +FROM debian + +# Install git +RUN apt-get update && apt-get -y install git + +# Install the Azure CLI +RUN apt-get install -y apt-transport-https curl gnupg2 lsb-release \ + && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/azure-cli.list \ + && curl -L https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ + && apt-get update \ + && apt-get install -y azure-cli + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/dev-containers/azure-cli-container/scripting.azcli b/containers/azure-cli/test-project/scripting.azcli similarity index 95% rename from dev-containers/azure-cli-container/scripting.azcli rename to containers/azure-cli/test-project/scripting.azcli index cc5865a8f4..dd5732ef4d 100644 --- a/dev-containers/azure-cli-container/scripting.azcli +++ b/containers/azure-cli/test-project/scripting.azcli @@ -1,5 +1,5 @@ -az login -az account list -o table -az account set -s 'Try Out Subscription' - -az functionapp list -o table +az login +az account list -o table +az account set -s 'Try Out Subscription' + +az functionapp list -o table diff --git a/dev-containers/node-function-container/.vscode/devContainer.json b/containers/azure-functions-node-8/.vscode/devContainer.json similarity index 95% rename from dev-containers/node-function-container/.vscode/devContainer.json rename to containers/azure-functions-node-8/.vscode/devContainer.json index 99f3e0f62e..c4631df698 100644 --- a/dev-containers/node-function-container/.vscode/devContainer.json +++ b/containers/azure-functions-node-8/.vscode/devContainer.json @@ -1,8 +1,8 @@ -{ - "name": "Azure Functions & Node.js", - "dockerFile": "dev-container.dockerfile", - "appPort": 7071, - "extensions": [ - "ms-azuretools.vscode-azurefunctions" - ] +{ + "name": "Azure Functions & Node.js", + "dockerFile": "dev-container.dockerfile", + "appPort": 7071, + "extensions": [ + "ms-azuretools.vscode-azurefunctions" + ] } \ No newline at end of file diff --git a/containers/azure-functions-node-8/.vscodeignore b/containers/azure-functions-node-8/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/azure-functions-node-8/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/node-function-container/dev-container.dockerfile b/containers/azure-functions-node-8/dev-container.dockerfile similarity index 51% rename from dev-containers/node-function-container/dev-container.dockerfile rename to containers/azure-functions-node-8/dev-container.dockerfile index 747bebdebd..638d729487 100644 --- a/dev-containers/node-function-container/dev-container.dockerfile +++ b/containers/azure-functions-node-8/dev-container.dockerfile @@ -1,16 +1,26 @@ -FROM microsoft/dotnet:2.1-sdk-stretch - -# Install required tools - -RUN apt-get update \ - && apt-get install -y git apt-transport-https curl \ - && curl -sSL https://deb.nodesource.com/setup_8.x | bash - \ - && curl -sSO https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb \ - && dpkg -i packages-microsoft-prod.deb \ - && rm packages-microsoft-prod.deb \ - && apt-get update \ - && apt-get install -y nodejs \ - && apt-get download azure-functions-core-tools \ - && dpkg -i --force-depends azure-functions-core-tools*.deb \ - && rm azure-functions-core-tools*.deb \ - && rm -rf /var/lib/apt/lists/* +FROM microsoft/dotnet:2.1-sdk-stretch + +# Install git +RUN apt-get update && apt-get -y install git + +# Install Node.js +RUN apt-get install -y curl \ + && curl -sSL https://deb.nodesource.com/setup_8.x | bash - \ + && apt-get update \ + && apt-get install -y nodejs + +# Install Azure Functions +RUN apt-get install -y apt-transport-https \ + && curl -sSO https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb \ + && dpkg -i packages-microsoft-prod.deb \ + && rm packages-microsoft-prod.deb \ + && apt-get update \ + && apt-get download azure-functions-core-tools \ + && dpkg -i --force-depends azure-functions-core-tools*.deb \ + && rm azure-functions-core-tools*.deb + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/containers/azure-hdinsight-python-3/.vscode/devContainer.json b/containers/azure-hdinsight-python-3/.vscode/devContainer.json new file mode 100644 index 0000000000..98ade788eb --- /dev/null +++ b/containers/azure-hdinsight-python-3/.vscode/devContainer.json @@ -0,0 +1,7 @@ +{ + "name": "Azure HDInsight", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "mshdinsight.azure-hdinsight" + ] +} \ No newline at end of file diff --git a/containers/azure-hdinsight-python-3/.vscodeignore b/containers/azure-hdinsight-python-3/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/azure-hdinsight-python-3/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/azure-hdinsight-python-3/dev-container.dockerfile b/containers/azure-hdinsight-python-3/dev-container.dockerfile new file mode 100644 index 0000000000..dc8f4f4cdc --- /dev/null +++ b/containers/azure-hdinsight-python-3/dev-container.dockerfile @@ -0,0 +1,15 @@ +# HDInsight extension needs mono +FROM mono:5 + +# Install git tools +RUN apt-get update \ + && apt-get install -y git + +# Install python 3 +RUN apt-get install -y python3 python3-pip + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/containers/azure-machine-learning-python-3/.vscode/devContainer.json b/containers/azure-machine-learning-python-3/.vscode/devContainer.json new file mode 100644 index 0000000000..b12be6e470 --- /dev/null +++ b/containers/azure-machine-learning-python-3/.vscode/devContainer.json @@ -0,0 +1,8 @@ +{ + "name": "Azure Machine Learning", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "ms-toolsai.vscode-ai" + ], + "runArgs": ["-v","/var/run/docker.sock:/var/run/docker.sock"] +} \ No newline at end of file diff --git a/containers/azure-machine-learning-python-3/.vscodeignore b/containers/azure-machine-learning-python-3/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/azure-machine-learning-python-3/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/azure-machine-learning-python-3/dev-container.dockerfile b/containers/azure-machine-learning-python-3/dev-container.dockerfile new file mode 100644 index 0000000000..65e1572f6c --- /dev/null +++ b/containers/azure-machine-learning-python-3/dev-container.dockerfile @@ -0,0 +1,21 @@ +FROM python:3.7-slim + +# Install required tools +RUN apt-get update \ + && apt-get install -y git + +# Install Docker CE - ** COMMENT OUT IF YOU WILL ONLY RUN LOCAL OR IN AZURE ** +RUN apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common \ + && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ + && add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" \ + && apt-get update \ + && apt-get install -y docker-ce-cli + +# Install pylint +RUN pip install pylint + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/containers/azure-terraform/.vscode/devContainer.json b/containers/azure-terraform/.vscode/devContainer.json new file mode 100644 index 0000000000..6b1866a01b --- /dev/null +++ b/containers/azure-terraform/.vscode/devContainer.json @@ -0,0 +1,8 @@ +{ + "name": "Azure Terraform", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "mauve.terraform", + "ms-azuretools.azureterraform" + ] +} \ No newline at end of file diff --git a/containers/azure-terraform/.vscodeignore b/containers/azure-terraform/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/azure-terraform/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/azure-terraform/dev-container.dockerfile b/containers/azure-terraform/dev-container.dockerfile new file mode 100644 index 0000000000..426b1f14a3 --- /dev/null +++ b/containers/azure-terraform/dev-container.dockerfile @@ -0,0 +1,28 @@ +# Pick any base image, but if you select node, skip installing node. 😊 +FROM ubuntu:1804 + +# Install required tools +RUN apt-get update \ + && apt-get install -y git curl gnupg unzip + +# [Optional] Install Node.js for Azure Cloud Shell support +RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ + && apt-get install -y nodejs + +# Install Terraform and tflint +RUN mkdir -p /tmp/docker-downloads \ + && curl -sSL -o /tmp/docker-downloads/terraform.zip https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_linux_amd64.zip \ + && unzip /tmp/docker-downloads/terraform.zip \ + && mv terraform /usr/local/bin \ + && curl -sSL -o /tmp/docker-downloads/tflint.zip https://github.com/wata727/tflint/releases/download/v0.7.4/tflint_linux_amd64.zip \ + && unzip /tmp/docker-downloads/tflint.zip \ + && mv tflint /usr/local/bin \ + && cd ~ \ + && rm -rf /tmp/docker-downloads \ + && apt-get install -y graphviz + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/dev-containers/cpp-container/.vscode/devContainer.json b/containers/cpp/.vscode/devContainer.json similarity index 94% rename from dev-containers/cpp-container/.vscode/devContainer.json rename to containers/cpp/.vscode/devContainer.json index f14fe50ca4..3b3e0356fb 100644 --- a/dev-containers/cpp-container/.vscode/devContainer.json +++ b/containers/cpp/.vscode/devContainer.json @@ -1,12 +1,12 @@ -{ - "name": "C++", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "ms-vscode.cpptools" - ], - "runArgs": [ - "--cap-add=SYS_PTRACE", - "--security-opt", - "seccomp=unconfined" - ] +{ + "name": "C++", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "ms-vscode.cpptools" + ], + "runArgs": [ + "--cap-add=SYS_PTRACE", + "--security-opt", + "seccomp=unconfined" + ] } \ No newline at end of file diff --git a/dev-containers/cpp-container/.vscode/launch.json b/containers/cpp/.vscode/launch.json similarity index 73% rename from dev-containers/cpp-container/.vscode/launch.json rename to containers/cpp/.vscode/launch.json index db27f47134..839dbbb717 100644 --- a/dev-containers/cpp-container/.vscode/launch.json +++ b/containers/cpp/.vscode/launch.json @@ -1,27 +1,28 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "(gdb) Launch", - "type": "cppdbg", - "request": "launch", - "program": "${workspaceFolder}/a.out", - "args": [], - "stopAtEntry": false, - "cwd": "${workspaceFolder}", - "environment": [], - "externalConsole": false, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - } - ] - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Launch Main", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/test-project/main.out", + "args": [], + "stopAtEntry": true, + "cwd": "${workspaceFolder}/test-project", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ], + "preLaunchTask": "Build Main" + } + ] } \ No newline at end of file diff --git a/dev-containers/cpp-container/.vscode/settings.json b/containers/cpp/.vscode/settings.json similarity index 94% rename from dev-containers/cpp-container/.vscode/settings.json rename to containers/cpp/.vscode/settings.json index afe8073d01..0cba2e6834 100644 --- a/dev-containers/cpp-container/.vscode/settings.json +++ b/containers/cpp/.vscode/settings.json @@ -1,5 +1,5 @@ -{ - "files.associations": { - "iostream": "cpp" - } +{ + "files.associations": { + "iostream": "cpp" + } } \ No newline at end of file diff --git a/containers/cpp/.vscode/tasks.json b/containers/cpp/.vscode/tasks.json new file mode 100644 index 0000000000..1d4d61fbcc --- /dev/null +++ b/containers/cpp/.vscode/tasks.json @@ -0,0 +1,16 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build Main", + "type": "shell", + "command": " cd test-project && g++ -g main.cpp -o main.out", + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} \ No newline at end of file diff --git a/containers/cpp/.vscodeignore b/containers/cpp/.vscodeignore new file mode 100644 index 0000000000..e0c81596d3 --- /dev/null +++ b/containers/cpp/.vscodeignore @@ -0,0 +1,7 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json +.vscode/ipch diff --git a/containers/cpp/dev-container.dockerfile b/containers/cpp/dev-container.dockerfile new file mode 100644 index 0000000000..2f9fe9a57c --- /dev/null +++ b/containers/cpp/dev-container.dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:latest + +# Install git +RUN apt-get update && apt-get -y install git + +# Install C++ tools +RUN apt-get -y install build-essential cmake cppcheck valgrind + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/cpp-container/main.cpp b/containers/cpp/test-project/main.cpp similarity index 93% rename from dev-containers/cpp-container/main.cpp rename to containers/cpp/test-project/main.cpp index 39c565f7a0..2770cb1d08 100644 --- a/dev-containers/cpp-container/main.cpp +++ b/containers/cpp/test-project/main.cpp @@ -1,8 +1,8 @@ -#include -using namespace std; - -int main() -{ - cout << "Hello, World!" << "\n"; - return 0; +#include +using namespace std; + +int main() +{ + cout << "Hello, World!" << "\n"; + return 0; } \ No newline at end of file diff --git a/containers/dart-web/.vscode/devContainer.json b/containers/dart-web/.vscode/devContainer.json new file mode 100644 index 0000000000..5924cec98a --- /dev/null +++ b/containers/dart-web/.vscode/devContainer.json @@ -0,0 +1,9 @@ +{ + "name": "Dart", + "dockerFile": "dev-container.dockerfile", + "appPort": 8080, + "extensions": [ + "dart-code.dart-code", + "msjsdiag.debugger-for-chrome" + ] +} diff --git a/dev-containers/dart-web-container/.vscode/launch.json b/containers/dart-web/.vscode/launch.json similarity index 84% rename from dev-containers/dart-web-container/.vscode/launch.json rename to containers/dart-web/.vscode/launch.json index a741261aa1..694119308e 100644 --- a/dev-containers/dart-web-container/.vscode/launch.json +++ b/containers/dart-web/.vscode/launch.json @@ -1,19 +1,20 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Dart: Attach to Process", - "type": "dart", - "request": "attach" - }, - { - "name": "Dart", - "type": "dart", - "request": "launch", - "program": "quickstart/web/main.dart" - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Dart: Attach to Process", + "type": "dart", + "request": "attach" + }, + { + "name": "Dart", + "type": "dart", + "request": "launch", + "program": "test-project/web/main.dart", + "preLaunchTask": "Serve" + } + ] } \ No newline at end of file diff --git a/containers/dart-web/.vscode/tasks.json b/containers/dart-web/.vscode/tasks.json new file mode 100644 index 0000000000..3cbc203a87 --- /dev/null +++ b/containers/dart-web/.vscode/tasks.json @@ -0,0 +1,12 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Serve", + "type": "shell", + "command": "cd test-project && webdev serve --hostname 0.0.0.0 --live-reload" + } + ] +} \ No newline at end of file diff --git a/containers/dart-web/.vscodeignore b/containers/dart-web/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/dart-web/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/dart-web/README.md b/containers/dart-web/README.md new file mode 100644 index 0000000000..a32968ce5d --- /dev/null +++ b/containers/dart-web/README.md @@ -0,0 +1 @@ +# Dart Dev Container \ No newline at end of file diff --git a/containers/dart-web/dev-container.dockerfile b/containers/dart-web/dev-container.dockerfile new file mode 100644 index 0000000000..3801c839d9 --- /dev/null +++ b/containers/dart-web/dev-container.dockerfile @@ -0,0 +1,15 @@ +FROM google/dart:2 + +ENV PATH="$PATH":"/root/.pub-cache/bin" + +RUN pub global activate webdev + +# Install git +RUN apt-get update && apt-get -y install git + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/dev-containers/dart-web-container/quickstart/.gitignore b/containers/dart-web/test-project/.gitignore similarity index 100% rename from dev-containers/dart-web-container/quickstart/.gitignore rename to containers/dart-web/test-project/.gitignore diff --git a/containers/dart-web/test-project/analysis_options.yaml b/containers/dart-web/test-project/analysis_options.yaml new file mode 100644 index 0000000000..108d1058ac --- /dev/null +++ b/containers/dart-web/test-project/analysis_options.yaml @@ -0,0 +1 @@ +include: package:pedantic/analysis_options.yaml diff --git a/containers/dart-web/test-project/pubspec.yaml b/containers/dart-web/test-project/pubspec.yaml new file mode 100644 index 0000000000..9ede9b9817 --- /dev/null +++ b/containers/dart-web/test-project/pubspec.yaml @@ -0,0 +1,10 @@ +name: testproject +description: A test project + +environment: + sdk: '>=2.1.0 <3.0.0' + +dev_dependencies: + build_runner: ^1.1.2 + build_web_compilers: ^1.0.0 + pedantic: ^1.0.0 diff --git a/dev-containers/dart-web-container/quickstart/web/index.html b/containers/dart-web/test-project/web/index.html similarity index 69% rename from dev-containers/dart-web-container/quickstart/web/index.html rename to containers/dart-web/test-project/web/index.html index c198dd483d..28f0493177 100644 --- a/dev-containers/dart-web-container/quickstart/web/index.html +++ b/containers/dart-web/test-project/web/index.html @@ -5,10 +5,8 @@ - - quickstart + Test Project - diff --git a/containers/dart-web/test-project/web/main.dart b/containers/dart-web/test-project/web/main.dart new file mode 100644 index 0000000000..cf898cc689 --- /dev/null +++ b/containers/dart-web/test-project/web/main.dart @@ -0,0 +1,5 @@ +import 'dart:html'; + +void main() { + querySelector('#output').text = 'Everything worked!!'; +} diff --git a/dev-containers/docker-in-docker-container/.vscode/devContainer.json b/containers/docker-in-docker/.vscode/devContainer.json similarity index 100% rename from dev-containers/docker-in-docker-container/.vscode/devContainer.json rename to containers/docker-in-docker/.vscode/devContainer.json diff --git a/containers/docker-in-docker/.vscodeignore b/containers/docker-in-docker/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/docker-in-docker/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/docker-in-docker-container/README.md b/containers/docker-in-docker/README.md similarity index 100% rename from dev-containers/docker-in-docker-container/README.md rename to containers/docker-in-docker/README.md diff --git a/dev-containers/docker-in-docker-container/dev-container.dockerfile b/containers/docker-in-docker/dev-container.dockerfile similarity index 96% rename from dev-containers/docker-in-docker-container/dev-container.dockerfile rename to containers/docker-in-docker/dev-container.dockerfile index e6e21c6716..3f1d023fbb 100644 --- a/dev-containers/docker-in-docker-container/dev-container.dockerfile +++ b/containers/docker-in-docker/dev-container.dockerfile @@ -1,7 +1,7 @@ # Note: You can use any Debian/Ubuntu based image you want. FROM ubuntu:latest -# Install required tools +# Install git RUN apt-get update \ && apt-get install -y git diff --git a/dev-containers/fsharp-container/.vscode/devContainer.json b/containers/dotnetcore-2.2-fsharp/.vscode/devContainer.json similarity index 100% rename from dev-containers/fsharp-container/.vscode/devContainer.json rename to containers/dotnetcore-2.2-fsharp/.vscode/devContainer.json diff --git a/containers/dotnetcore-2.2-fsharp/.vscode/launch.json b/containers/dotnetcore-2.2-fsharp/.vscode/launch.json new file mode 100644 index 0000000000..52284bb7f4 --- /dev/null +++ b/containers/dotnetcore-2.2-fsharp/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "${workspaceFolder}/test-project/bin/Debug/netcoreapp2.2/app.dll", + "args": [], + "cwd": "${workspaceFolder}/test-project", + "console": "integratedTerminal", + "stopAtEntry": false, + "internalConsoleOptions": "openOnSessionStart" + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "processId": "${command:pickProcess}" + } + ] +} \ No newline at end of file diff --git a/containers/dotnetcore-2.2-fsharp/.vscode/settings.json b/containers/dotnetcore-2.2-fsharp/.vscode/settings.json new file mode 100644 index 0000000000..bf3bba5913 --- /dev/null +++ b/containers/dotnetcore-2.2-fsharp/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "FSharp.fsacRuntime":"netcore", + "razor.disabled": true +} \ No newline at end of file diff --git a/dev-containers/fsharp-container/.vscode/tasks.json b/containers/dotnetcore-2.2-fsharp/.vscode/tasks.json similarity index 86% rename from dev-containers/fsharp-container/.vscode/tasks.json rename to containers/dotnetcore-2.2-fsharp/.vscode/tasks.json index b7bdb4c0d6..f6566619f2 100644 --- a/dev-containers/fsharp-container/.vscode/tasks.json +++ b/containers/dotnetcore-2.2-fsharp/.vscode/tasks.json @@ -5,7 +5,7 @@ "tasks": [ { "label": "build", - "command": "dotnet build", + "command": "cd test-project && dotnet build", "type": "shell", "group": "build", "presentation": { diff --git a/containers/dotnetcore-2.2-fsharp/.vscodeignore b/containers/dotnetcore-2.2-fsharp/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/dotnetcore-2.2-fsharp/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/dotnetcore-2.2-fsharp/dev-container.dockerfile b/containers/dotnetcore-2.2-fsharp/dev-container.dockerfile new file mode 100644 index 0000000000..dc744afd13 --- /dev/null +++ b/containers/dotnetcore-2.2-fsharp/dev-container.dockerfile @@ -0,0 +1,17 @@ +FROM microsoft/dotnet:2.2-sdk + +# Alias xterm to bash if external console is triggered +RUN echo "alias xterm=bash" >> /root/.bashrc + +# Install git +RUN apt-get update && apt-get -y install git + +# Install fsharp +RUN apt-get install -y fsharp + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/dev-containers/fsharp-container/Program.fs b/containers/dotnetcore-2.2-fsharp/test-project/Program.fs similarity index 100% rename from dev-containers/fsharp-container/Program.fs rename to containers/dotnetcore-2.2-fsharp/test-project/Program.fs diff --git a/dev-containers/fsharp-container/app.fsproj b/containers/dotnetcore-2.2-fsharp/test-project/app.fsproj similarity index 100% rename from dev-containers/fsharp-container/app.fsproj rename to containers/dotnetcore-2.2-fsharp/test-project/app.fsproj diff --git a/dev-containers/net-core-container/.vscode/devContainer.json b/containers/dotnetcore-2.2/.vscode/devContainer.json similarity index 85% rename from dev-containers/net-core-container/.vscode/devContainer.json rename to containers/dotnetcore-2.2/.vscode/devContainer.json index 5923914a10..4cf73279ca 100644 --- a/dev-containers/net-core-container/.vscode/devContainer.json +++ b/containers/dotnetcore-2.2/.vscode/devContainer.json @@ -1,7 +1,8 @@ -{ - "name": ".NET Core", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "ms-vscode.csharp" - ] +{ + "name": ".NET Core", + "dockerFile": "dev-container.dockerfile", + "appPort": 8090, + "extensions": [ + "ms-vscode.csharp" + ] } \ No newline at end of file diff --git a/dev-containers/aspnet-container/.vscode/launch.json b/containers/dotnetcore-2.2/.vscode/launch.json similarity index 88% rename from dev-containers/aspnet-container/.vscode/launch.json rename to containers/dotnetcore-2.2/.vscode/launch.json index ec4da30b1d..2945c89d28 100644 --- a/dev-containers/aspnet-container/.vscode/launch.json +++ b/containers/dotnetcore-2.2/.vscode/launch.json @@ -1,16 +1,16 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": ".NET Core Launch (web)", - "type": "coreclr", - "request": "launch", - "program": "dotnet", - "args": ["run"], - "cwd": "${workspaceFolder}", - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (web)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": ["run"], + "cwd": "${workspaceFolder}/test-project", + } + ] } \ No newline at end of file diff --git a/dev-containers/net-core-container/.vscode/settings.json b/containers/dotnetcore-2.2/.vscode/settings.json similarity index 93% rename from dev-containers/net-core-container/.vscode/settings.json rename to containers/dotnetcore-2.2/.vscode/settings.json index 841b66ad7b..02264bf93b 100644 --- a/dev-containers/net-core-container/.vscode/settings.json +++ b/containers/dotnetcore-2.2/.vscode/settings.json @@ -1,3 +1,3 @@ { "razor.disabled": true -} \ No newline at end of file +} diff --git a/containers/dotnetcore-2.2/.vscodeignore b/containers/dotnetcore-2.2/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/dotnetcore-2.2/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/dotnetcore-2.2/dev-container.dockerfile b/containers/dotnetcore-2.2/dev-container.dockerfile new file mode 100644 index 0000000000..bca2b40b0c --- /dev/null +++ b/containers/dotnetcore-2.2/dev-container.dockerfile @@ -0,0 +1,10 @@ +FROM microsoft/dotnet:2.2-sdk + +# Install git +RUN apt-get update && apt-get -y install git + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/aspnet-container/Program.cs b/containers/dotnetcore-2.2/test-project/Program.cs similarity index 96% rename from dev-containers/aspnet-container/Program.cs rename to containers/dotnetcore-2.2/test-project/Program.cs index 3a22be8f47..3de084b916 100644 --- a/dev-containers/aspnet-container/Program.cs +++ b/containers/dotnetcore-2.2/test-project/Program.cs @@ -1,27 +1,27 @@ -using System; -using System.Linq; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Builder; -using Newtonsoft.Json; -using Microsoft.AspNetCore.Http; -using System.IO; - -namespace aspnetapp -{ - public class Program - { - public static void Main(string[] args) - { - var host = new WebHostBuilder() - .UseKestrel() - .UseUrls("http://0.0.0.0:8090") - .Configure(app => app.Run(async context => { - await context.Response.WriteAsync("Hello world from ASP.NET Core"); - })) - .Build(); - - host.Run(); - } - - } +using System; +using System.Linq; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Builder; +using Newtonsoft.Json; +using Microsoft.AspNetCore.Http; +using System.IO; + +namespace aspnetapp +{ + public class Program + { + public static void Main(string[] args) + { + var host = new WebHostBuilder() + .UseKestrel() + .UseUrls("http://0.0.0.0:8090") + .Configure(app => app.Run(async context => { + await context.Response.WriteAsync("Hello world from ASP.NET Core"); + })) + .Build(); + + host.Run(); + } + + } } \ No newline at end of file diff --git a/dev-containers/aspnet-container/aspnetapp.csproj b/containers/dotnetcore-2.2/test-project/aspnetapp.csproj similarity index 96% rename from dev-containers/aspnet-container/aspnetapp.csproj rename to containers/dotnetcore-2.2/test-project/aspnetapp.csproj index 1ac5267278..438c4602ef 100644 --- a/dev-containers/aspnet-container/aspnetapp.csproj +++ b/containers/dotnetcore-2.2/test-project/aspnetapp.csproj @@ -1,12 +1,12 @@ - - - - netcoreapp2.1 - 31051026529000467138 - - - - - - + + + + netcoreapp2.1 + 31051026529000467138 + + + + + + \ No newline at end of file diff --git a/dev-containers/go-container/.vscode/devContainer.json b/containers/go/.vscode/devContainer.json similarity index 94% rename from dev-containers/go-container/.vscode/devContainer.json rename to containers/go/.vscode/devContainer.json index f1eae719b1..d77bf0b421 100644 --- a/dev-containers/go-container/.vscode/devContainer.json +++ b/containers/go/.vscode/devContainer.json @@ -1,12 +1,12 @@ -{ - "name": "Go", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "ms-vscode.go" - ], - "runArgs": [ - "--cap-add=SYS_PTRACE", - "--security-opt", - "seccomp=unconfined" - ] +{ + "name": "Go", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "ms-vscode.go" + ], + "runArgs": [ + "--cap-add=SYS_PTRACE", + "--security-opt", + "seccomp=unconfined" + ] } \ No newline at end of file diff --git a/dev-containers/go-container/.vscode/launch.json b/containers/go/.vscode/launch.json similarity index 95% rename from dev-containers/go-container/.vscode/launch.json rename to containers/go/.vscode/launch.json index 580063425a..164eb253a7 100644 --- a/dev-containers/go-container/.vscode/launch.json +++ b/containers/go/.vscode/launch.json @@ -1,12 +1,12 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Launch file", - "type": "go", - "request": "launch", - "mode": "debug", - "program": "${file}" - } - ] +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Launch file", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "${file}" + } + ] } \ No newline at end of file diff --git a/containers/go/.vscodeignore b/containers/go/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/go/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/go-container/dev-container.dockerfile b/containers/go/dev-container.dockerfile similarity index 76% rename from dev-containers/go-container/dev-container.dockerfile rename to containers/go/dev-container.dockerfile index c03e81c3f0..2100c39f16 100644 --- a/dev-containers/go-container/dev-container.dockerfile +++ b/containers/go/dev-container.dockerfile @@ -1,23 +1,29 @@ -FROM golang:1.11.1 - -RUN go get -u -v \ - github.com/mdempsky/gocode \ - github.com/uudashr/gopkgs/cmd/gopkgs \ - github.com/ramya-rao-a/go-outline \ - github.com/acroca/go-symbols \ - golang.org/x/tools/cmd/guru \ - golang.org/x/tools/cmd/gorename \ - github.com/rogpeppe/godef \ - github.com/zmb3/gogetdoc \ - github.com/sqs/goreturns \ - golang.org/x/tools/cmd/goimports \ - golang.org/x/lint/golint \ - github.com/alecthomas/gometalinter \ - honnef.co/go/tools/... \ - github.com/golangci/golangci-lint/cmd/golangci-lint \ - github.com/mgechev/revive \ - github.com/derekparker/delve/cmd/dlv - -# Install git -RUN apt-get update && apt-get -y install git \ - && rm -rf /var/lib/apt/lists/* +FROM golang:1 + +RUN go get -u -v \ + github.com/mdempsky/gocode \ + github.com/uudashr/gopkgs/cmd/gopkgs \ + github.com/ramya-rao-a/go-outline \ + github.com/acroca/go-symbols \ + golang.org/x/tools/cmd/guru \ + golang.org/x/tools/cmd/gorename \ + github.com/rogpeppe/godef \ + github.com/zmb3/gogetdoc \ + github.com/sqs/goreturns \ + golang.org/x/tools/cmd/goimports \ + golang.org/x/lint/golint \ + github.com/alecthomas/gometalinter \ + honnef.co/go/tools/... \ + github.com/golangci/golangci-lint/cmd/golangci-lint \ + github.com/mgechev/revive \ + github.com/derekparker/delve/cmd/dlv + +# Install git +RUN apt-get update && apt-get -y install git + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/dev-containers/go-container/src/hello/hello.go b/containers/go/test-project/hello.go similarity index 94% rename from dev-containers/go-container/src/hello/hello.go rename to containers/go/test-project/hello.go index c4947ca126..473497989e 100644 --- a/dev-containers/go-container/src/hello/hello.go +++ b/containers/go/test-project/hello.go @@ -1,5 +1,5 @@ -package main -import "fmt" -func main() { - fmt.Println("hello world") +package main +import "fmt" +func main() { + fmt.Println("hello world") } \ No newline at end of file diff --git a/dev-containers/java-container/.vscode/devContainer.json b/containers/java-8-maven/.vscode/devContainer.json similarity index 94% rename from dev-containers/java-container/.vscode/devContainer.json rename to containers/java-8-maven/.vscode/devContainer.json index 2c1e6ce994..4265d6ff3d 100644 --- a/dev-containers/java-container/.vscode/devContainer.json +++ b/containers/java-8-maven/.vscode/devContainer.json @@ -1,7 +1,7 @@ -{ - "name": "Java", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "vscjava.vscode-java-pack" - ] -} +{ + "name": "Java", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "vscjava.vscode-java-pack" + ] +} diff --git a/dev-containers/java-container/.vscode/launch.json b/containers/java-8-maven/.vscode/launch.json similarity index 74% rename from dev-containers/java-container/.vscode/launch.json rename to containers/java-8-maven/.vscode/launch.json index a641584a93..3f8409dd3e 100644 --- a/dev-containers/java-container/.vscode/launch.json +++ b/containers/java-8-maven/.vscode/launch.json @@ -1,15 +1,15 @@ -{ - "configurations": [ - { - "type": "java", - "name": "CodeLens (Launch) - App", - "request": "launch", - "cwd": "${workspaceFolder}", - "console": "internalConsole", - "stopOnEntry": false, - "mainClass": "com.mycompany.app.App", - "args": "", - "projectName": "my-app" - } - ] +{ + "configurations": [ + { + "type": "java", + "name": "Launch App", + "request": "launch", + "cwd": "${workspaceFolder}/test-project", + "console": "internalConsole", + "stopOnEntry": false, + "mainClass": "com.mycompany.app.App", + "args": "", + "projectName": "my-app" + } + ] } \ No newline at end of file diff --git a/containers/java-8-maven/.vscodeignore b/containers/java-8-maven/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/java-8-maven/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/java-8-maven/dev-container.dockerfile b/containers/java-8-maven/dev-container.dockerfile new file mode 100644 index 0000000000..745ec7c3cd --- /dev/null +++ b/containers/java-8-maven/dev-container.dockerfile @@ -0,0 +1,11 @@ +FROM maven:3.6-jdk-8-slim + +# Install git +RUN apt-get update && apt-get -y install git + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + \ No newline at end of file diff --git a/dev-containers/java-container/my-app/.classpath b/containers/java-8-maven/test-project/.classpath similarity index 97% rename from dev-containers/java-container/my-app/.classpath rename to containers/java-8-maven/test-project/.classpath index 1ba2e07605..75b806fd77 100644 --- a/dev-containers/java-container/my-app/.classpath +++ b/containers/java-8-maven/test-project/.classpath @@ -1,44 +1,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/containers/java-8-maven/test-project/.gitignore b/containers/java-8-maven/test-project/.gitignore new file mode 100644 index 0000000000..1de565933b --- /dev/null +++ b/containers/java-8-maven/test-project/.gitignore @@ -0,0 +1 @@ +target \ No newline at end of file diff --git a/dev-containers/java-container/my-app/.project b/containers/java-8-maven/test-project/.project similarity index 95% rename from dev-containers/java-container/my-app/.project rename to containers/java-8-maven/test-project/.project index c71226c8d5..700a32c79d 100644 --- a/dev-containers/java-container/my-app/.project +++ b/containers/java-8-maven/test-project/.project @@ -1,23 +1,23 @@ - - - my-app - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - + + + my-app + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/dev-containers/java-container/my-app/.settings/org.eclipse.jdt.apt.core.prefs b/containers/java-8-maven/test-project/.settings/org.eclipse.jdt.apt.core.prefs similarity index 97% rename from dev-containers/java-container/my-app/.settings/org.eclipse.jdt.apt.core.prefs rename to containers/java-8-maven/test-project/.settings/org.eclipse.jdt.apt.core.prefs index ec0c557e52..d4313d4b25 100644 --- a/dev-containers/java-container/my-app/.settings/org.eclipse.jdt.apt.core.prefs +++ b/containers/java-8-maven/test-project/.settings/org.eclipse.jdt.apt.core.prefs @@ -1,2 +1,2 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.apt.aptEnabled=false +eclipse.preferences.version=1 +org.eclipse.jdt.apt.aptEnabled=false diff --git a/dev-containers/java-container/my-app/.settings/org.eclipse.jdt.core.prefs b/containers/java-8-maven/test-project/.settings/org.eclipse.jdt.core.prefs similarity index 98% rename from dev-containers/java-container/my-app/.settings/org.eclipse.jdt.core.prefs rename to containers/java-8-maven/test-project/.settings/org.eclipse.jdt.core.prefs index 8734810250..389c90f893 100644 --- a/dev-containers/java-container/my-app/.settings/org.eclipse.jdt.core.prefs +++ b/containers/java-8-maven/test-project/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,7 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.processAnnotations=disabled -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.5 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.processAnnotations=disabled +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/dev-containers/java-container/my-app/.settings/org.eclipse.m2e.core.prefs b/containers/java-8-maven/test-project/.settings/org.eclipse.m2e.core.prefs similarity index 95% rename from dev-containers/java-container/my-app/.settings/org.eclipse.m2e.core.prefs rename to containers/java-8-maven/test-project/.settings/org.eclipse.m2e.core.prefs index 14b697b7bb..f897a7f1cb 100644 --- a/dev-containers/java-container/my-app/.settings/org.eclipse.m2e.core.prefs +++ b/containers/java-8-maven/test-project/.settings/org.eclipse.m2e.core.prefs @@ -1,4 +1,4 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/dev-containers/java-container/my-app/pom.xml b/containers/java-8-maven/test-project/pom.xml similarity index 96% rename from dev-containers/java-container/my-app/pom.xml rename to containers/java-8-maven/test-project/pom.xml index 53a46e62f4..b012dcf9d3 100644 --- a/dev-containers/java-container/my-app/pom.xml +++ b/containers/java-8-maven/test-project/pom.xml @@ -1,29 +1,29 @@ - - 4.0.0 - com.mycompany.app - my-app - jar - 1.0-SNAPSHOT - my-app - http://maven.apache.org - - - junit - junit - 4.12 - test - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 3.0.0-M3 - - - - - + + 4.0.0 + com.mycompany.app + my-app + jar + 1.0-SNAPSHOT + my-app + http://maven.apache.org + + + junit + junit + 4.12 + test + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M3 + + + + + diff --git a/dev-containers/java-container/my-app/src/main/java/com/mycompany/app/App.java b/containers/java-8-maven/test-project/src/main/java/com/mycompany/app/App.java similarity index 93% rename from dev-containers/java-container/my-app/src/main/java/com/mycompany/app/App.java rename to containers/java-8-maven/test-project/src/main/java/com/mycompany/app/App.java index 32a4b3d494..77cf3e055b 100644 --- a/dev-containers/java-container/my-app/src/main/java/com/mycompany/app/App.java +++ b/containers/java-8-maven/test-project/src/main/java/com/mycompany/app/App.java @@ -1,13 +1,13 @@ -package com.mycompany.app; - -/** - * Hello world! - * - */ -public class App -{ - public static void main( String[] args ) - { - System.out.println( "Hello World!" ); - } -} +package com.mycompany.app; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/dev-containers/java-container/my-app/src/test/java/com/mycompany/app/AppTest.java b/containers/java-8-maven/test-project/src/test/java/com/mycompany/app/AppTest.java similarity index 92% rename from dev-containers/java-container/my-app/src/test/java/com/mycompany/app/AppTest.java rename to containers/java-8-maven/test-project/src/test/java/com/mycompany/app/AppTest.java index 628920a3af..a315bb5b36 100644 --- a/dev-containers/java-container/my-app/src/test/java/com/mycompany/app/AppTest.java +++ b/containers/java-8-maven/test-project/src/test/java/com/mycompany/app/AppTest.java @@ -1,23 +1,23 @@ -package com.mycompany.app; - -import org.junit.Test; -import static org.junit.Assert.*; - - -public class AppTest -{ - public AppTest() { - } - - @Test - public void testApp() - { - assertTrue( true ); - } - - @Test - public void testMore() - { - assertTrue( true ); - } -} +package com.mycompany.app; + +import org.junit.Test; +import static org.junit.Assert.*; + + +public class AppTest +{ + public AppTest() { + } + + @Test + public void testApp() + { + assertTrue( true ); + } + + @Test + public void testMore() + { + assertTrue( true ); + } +} diff --git a/dev-containers/kubernetes-helm-container/.vscode/devContainer.json b/containers/kubernetes-helm/.vscode/devContainer.json similarity index 100% rename from dev-containers/kubernetes-helm-container/.vscode/devContainer.json rename to containers/kubernetes-helm/.vscode/devContainer.json diff --git a/containers/kubernetes-helm/.vscodeignore b/containers/kubernetes-helm/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/kubernetes-helm/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/kubernetes-helm-container/README.md b/containers/kubernetes-helm/README.md similarity index 100% rename from dev-containers/kubernetes-helm-container/README.md rename to containers/kubernetes-helm/README.md diff --git a/dev-containers/kubernetes-helm-container/dev-container.dockerfile b/containers/kubernetes-helm/dev-container.dockerfile similarity index 100% rename from dev-containers/kubernetes-helm-container/dev-container.dockerfile rename to containers/kubernetes-helm/dev-container.dockerfile diff --git a/dev-containers/latex-container/.vscode/devContainer.json b/containers/latex/.vscode/devContainer.json similarity index 100% rename from dev-containers/latex-container/.vscode/devContainer.json rename to containers/latex/.vscode/devContainer.json diff --git a/containers/latex/.vscodeignore b/containers/latex/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/latex/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/latex-container/README.md b/containers/latex/README.md similarity index 100% rename from dev-containers/latex-container/README.md rename to containers/latex/README.md diff --git a/docker-compose-tests/node/.vscode/devContainer.json b/containers/node-8-mongo/.vscode/devContainer.json similarity index 52% rename from docker-compose-tests/node/.vscode/devContainer.json rename to containers/node-8-mongo/.vscode/devContainer.json index ed5bfca9c3..4073ed0340 100644 --- a/docker-compose-tests/node/.vscode/devContainer.json +++ b/containers/node-8-mongo/.vscode/devContainer.json @@ -1,6 +1,6 @@ { - "name": "Node.js", - "dockerComposeFile": "docker-compose.develop.yml", + "name": "Node.js & Mongo DB", + "dockerComposeFile": "docker-compose.dev-container.yml", "service": "web", "volume": "app", "extensions": [ diff --git a/containers/node-8-mongo/.vscode/launch.json b/containers/node-8-mongo/.vscode/launch.json new file mode 100644 index 0000000000..81ec686cf6 --- /dev/null +++ b/containers/node-8-mongo/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Server", + "program": "${workspaceFolder}/test-project/server.js" + } + ] +} \ No newline at end of file diff --git a/containers/node-8-mongo/dev-container.dockerfile b/containers/node-8-mongo/dev-container.dockerfile new file mode 100644 index 0000000000..ec56605c31 --- /dev/null +++ b/containers/node-8-mongo/dev-container.dockerfile @@ -0,0 +1,13 @@ +FROM node:8-slim + +# Install git +RUN apt-get update && apt-get -y install git + +# Install eslint +RUN npm install -g eslint + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/docker-compose-tests/node/docker-compose.develop.yml b/containers/node-8-mongo/docker-compose.dev-container.yml similarity index 51% rename from docker-compose-tests/node/docker-compose.develop.yml rename to containers/node-8-mongo/docker-compose.dev-container.yml index a16e00c3b7..d326d168b9 100644 --- a/docker-compose-tests/node/docker-compose.develop.yml +++ b/containers/node-8-mongo/docker-compose.dev-container.yml @@ -4,10 +4,15 @@ services: build: context: . dockerfile: dev-container.dockerfile - ports: - - "8090:8090" - - "8000:8000" volumes: - .:/app - command: /bin/sh -c "while :; do sleep 5000; done" - + ports: + - "3000:3000" + command: sleep infinity + links: + - mongo + mongo: + image: mongo + volumes: + - /data/db + diff --git a/docker-compose-tests/node/Dockerfile b/containers/node-8-mongo/test-project/Dockerfile similarity index 67% rename from docker-compose-tests/node/Dockerfile rename to containers/node-8-mongo/test-project/Dockerfile index dd5c76aa8d..d465ed7bf6 100644 --- a/docker-compose-tests/node/Dockerfile +++ b/containers/node-8-mongo/test-project/Dockerfile @@ -1,5 +1,5 @@ FROM node:8 -ADD . /code -WORKDIR /code +ADD . /app +WORKDIR /app RUN npm install CMD ["node", "server.js"] \ No newline at end of file diff --git a/containers/node-8-mongo/test-project/docker-compose.yml b/containers/node-8-mongo/test-project/docker-compose.yml new file mode 100644 index 0000000000..000023bb78 --- /dev/null +++ b/containers/node-8-mongo/test-project/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3' +services: + app: + build: + context: . + dockerfile: Dockerfile + ports: + - "3000:3000" + links: + - mongo + mongo: + image: mongo + volumes: + - /data/db + diff --git a/docker-compose-tests/node/package-lock.json b/containers/node-8-mongo/test-project/package-lock.json similarity index 74% rename from docker-compose-tests/node/package-lock.json rename to containers/node-8-mongo/test-project/package-lock.json index 0fc4a43400..0ef9692f70 100644 --- a/docker-compose-tests/node/package-lock.json +++ b/containers/node-8-mongo/test-project/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.21", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -24,17 +24,22 @@ "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", + "depd": "~1.1.2", + "http-errors": "~1.6.3", "iconv-lite": "0.4.23", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.2", "raw-body": "2.3.3", - "type-is": "1.6.16" + "type-is": "~1.6.16" } }, + "bson": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.1.tgz", + "integrity": "sha512-jCGVYLoYMHDkOsbwJZBCqwMHyH4c+wzgI9hG7Z6SZJRXWr+x58pdIbm2i9a/jFGCkRJqRUr8eoI7lDWa0hTkxg==" + }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -103,36 +108,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.3", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.4", + "proxy-addr": "~2.0.4", "qs": "6.5.2", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.2", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", + "statuses": "~1.4.0", + "type-is": "~1.6.16", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "finalhandler": { @@ -141,12 +146,12 @@ "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" } }, "forwarded": { @@ -164,10 +169,10 @@ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.4.0" + "statuses": ">= 1.4.0 < 2" } }, "iconv-lite": { @@ -175,7 +180,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "inherits": { @@ -193,6 +198,12 @@ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -218,7 +229,27 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" + } + }, + "mongodb": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.2.1.tgz", + "integrity": "sha512-Vboj2WjyQYGMe8RQ7tmxdvtcdthyEu2f+gDdua7zbKu5JjDPZFDbgjjJEgnfcluog8Po+VguqXoPs9Zh+PAuKw==", + "requires": { + "mongodb-core": "3.2.1", + "safe-buffer": "^5.1.2" + } + }, + "mongodb-core": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.2.1.tgz", + "integrity": "sha512-vvnl5F6QhvFhi28umNx+Ymyb8wVQOhvEjU30JF3TjBBomS2tamJFK4eA0uwOa6FxLi9qCQWejbF66B0rb/UUiw==", + "requires": { + "bson": "^1.1.1", + "require_optional": "^1.0.1", + "safe-buffer": "^5.1.2", + "saslprep": "^1.0.0" } }, "ms": { @@ -254,7 +285,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.8.0" } }, @@ -279,6 +310,20 @@ "unpipe": "1.0.0" } }, + "require_optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", + "requires": { + "resolve-from": "^2.0.0", + "semver": "^5.1.0" + } + }, + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -289,24 +334,38 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "saslprep": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.2.tgz", + "integrity": "sha512-4cDsYuAjXssUSjxHKRe4DTZC0agDwsCqcMqtJAQPzC74nJ7LfAJflAtC1Zed5hMzEQKj82d3tuzqdGNRsLJ4Gw==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + }, "send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" } }, "serve-static": { @@ -314,9 +373,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -325,6 +384,15 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, "statuses": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", @@ -336,7 +404,7 @@ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.21" + "mime-types": "~2.1.18" } }, "unpipe": { diff --git a/dev-containers/node-docker/package.json b/containers/node-8-mongo/test-project/package.json similarity index 82% rename from dev-containers/node-docker/package.json rename to containers/node-8-mongo/test-project/package.json index 6af247df9e..a46709ac8f 100644 --- a/dev-containers/node-docker/package.json +++ b/containers/node-8-mongo/test-project/package.json @@ -1,13 +1,14 @@ -{ - "name": "docker_web_app", - "version": "1.0.0", - "description": "Node.js on Docker", - "author": "First Last ", - "main": "server.js", - "scripts": { - "start": "node server.js" - }, - "dependencies": { - "express": "^4.16.1" - } -} +{ + "name": "docker_web_app", + "version": "1.0.0", + "description": "Node.js on Docker", + "author": "First Last ", + "main": "server.js", + "scripts": { + "start": "node server.js" + }, + "dependencies": { + "express": "^4.16.1", + "mongodb": "^3.2.1" + } +} diff --git a/containers/node-8-mongo/test-project/server.js b/containers/node-8-mongo/test-project/server.js new file mode 100644 index 0000000000..07d49d3d36 --- /dev/null +++ b/containers/node-8-mongo/test-project/server.js @@ -0,0 +1,37 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +'use strict'; + +const express = require('express'); +const MongoClient = require('mongodb').MongoClient; + +// Constants +const PORT = 3000; +const MONGO_URL = 'mongodb://mongo:27017'; +const DB_NAME = 'test-project'; +const HOST = '0.0.0.0'; + +(async()=> { + + // Use connect to mongo server + const client = new MongoClient(MONGO_URL); + await client.connect(); + console.log('Connected successfully to Mongo DB'); + const db = client.db(DB_NAME); + const testHitsCollection = db.collection('test-hits'); + + // App + const app = express(); + app.get('/', async (req, res) => { + await testHitsCollection.insertOne({date:new Date()}); + const count = await testHitsCollection.countDocuments(); + res.send('Hello world! ' + count + ' test records found.'); + }); + + app.listen(PORT, HOST); + console.log(`Running on http://${HOST}:${PORT}`); +})(); + diff --git a/containers/node-8/.vscode/devContainer.json b/containers/node-8/.vscode/devContainer.json new file mode 100644 index 0000000000..2f1f164fca --- /dev/null +++ b/containers/node-8/.vscode/devContainer.json @@ -0,0 +1,8 @@ +{ + "name": "Node.js 8", + "dockerFile": "dev-container.dockerfile", + "appPort": 3000, + "extensions": [ + "dbaeumer.vscode-eslint" + ] +} \ No newline at end of file diff --git a/dev-containers/node-docker/.vscode/launch.json b/containers/node-8/.vscode/launch.json similarity index 84% rename from dev-containers/node-docker/.vscode/launch.json rename to containers/node-8/.vscode/launch.json index a1df91aa7d..e3a593ee4b 100644 --- a/dev-containers/node-docker/.vscode/launch.json +++ b/containers/node-8/.vscode/launch.json @@ -1,14 +1,14 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "node", - "request": "launch", - "name": "Launch Program", - "program": "${workspaceFolder}/server.js" - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "program": "${workspaceFolder}/test-project/server.js" + } + ] } \ No newline at end of file diff --git a/containers/node-8/.vscodeignore b/containers/node-8/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/node-8/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/node-8/dev-container.dockerfile b/containers/node-8/dev-container.dockerfile new file mode 100644 index 0000000000..ec56605c31 --- /dev/null +++ b/containers/node-8/dev-container.dockerfile @@ -0,0 +1,13 @@ +FROM node:8-slim + +# Install git +RUN apt-get update && apt-get -y install git + +# Install eslint +RUN npm install -g eslint + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/node-docker/.eslintrc.json b/containers/node-8/test-project/.eslintrc.json similarity index 93% rename from dev-containers/node-docker/.eslintrc.json rename to containers/node-8/test-project/.eslintrc.json index 40d30cacff..6144597b52 100644 --- a/dev-containers/node-docker/.eslintrc.json +++ b/containers/node-8/test-project/.eslintrc.json @@ -1,21 +1,21 @@ -{ - "root": true, - "env": { - "node": true, - "es6": true - }, - "rules": { - "no-console": 0, - "eqeqeq":"warn", - "no-cond-assign": 0, - "no-unused-vars": 1, - "no-extra-semi": "warn", - "semi": "warn" - }, - "extends": "eslint:recommended", - "parserOptions": { - "ecmaFeatures": { - "experimentalObjectRestSpread": true - } - } -} +{ + "root": true, + "env": { + "node": true, + "es6": true + }, + "rules": { + "no-console": 0, + "eqeqeq":"warn", + "no-cond-assign": 0, + "no-unused-vars": 1, + "no-extra-semi": "warn", + "semi": "warn" + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaFeatures": { + "experimentalObjectRestSpread": true + } + } +} diff --git a/dev-containers/node-docker/package-lock.json b/containers/node-8/test-project/package-lock.json similarity index 97% rename from dev-containers/node-docker/package-lock.json rename to containers/node-8/test-project/package-lock.json index b1e1be4c68..e3f729212c 100644 --- a/dev-containers/node-docker/package-lock.json +++ b/containers/node-8/test-project/package-lock.json @@ -1,358 +1,358 @@ -{ - "name": "docker_web_app", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "requires": { - "mime-db": "~1.37.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - } - } -} +{ + "name": "docker_web_app", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "requires": { + "mime-db": "~1.37.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + } + } +} diff --git a/docker-compose-tests/node/package.json b/containers/node-8/test-project/package.json similarity index 100% rename from docker-compose-tests/node/package.json rename to containers/node-8/test-project/package.json diff --git a/docker-compose-tests/node/server.js b/containers/node-8/test-project/server.js similarity index 96% rename from docker-compose-tests/node/server.js rename to containers/node-8/test-project/server.js index e1e82aa042..b5af7b695a 100644 --- a/docker-compose-tests/node/server.js +++ b/containers/node-8/test-project/server.js @@ -8,7 +8,7 @@ const express = require('express'); // Constants -const PORT = 8090; +const PORT = 3000; const HOST = '0.0.0.0'; // App diff --git a/dev-containers/php-container/.vscode/devContainer.json b/containers/php-7/.vscode/devContainer.json similarity index 94% rename from dev-containers/php-container/.vscode/devContainer.json rename to containers/php-7/.vscode/devContainer.json index 20a65241b7..e9919e2ce3 100644 --- a/dev-containers/php-container/.vscode/devContainer.json +++ b/containers/php-7/.vscode/devContainer.json @@ -1,8 +1,8 @@ -{ - "name": "PHP", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "felixfbecker.php-debug", - "felixfbecker.php-intellisense" - ] -} +{ + "name": "PHP", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "felixfbecker.php-debug", + "felixfbecker.php-intellisense" + ] +} diff --git a/dev-containers/php-container/.vscode/launch.json b/containers/php-7/.vscode/launch.json similarity index 97% rename from dev-containers/php-container/.vscode/launch.json rename to containers/php-7/.vscode/launch.json index c0a0abe146..79c5c5bc5a 100644 --- a/dev-containers/php-container/.vscode/launch.json +++ b/containers/php-7/.vscode/launch.json @@ -1,16 +1,16 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch currently open script", - "type": "php", - "request": "launch", - "program": "${file}", - "cwd": "${fileDirname}", - "port": 9000 - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Launch currently open script", + "type": "php", + "request": "launch", + "program": "${file}", + "cwd": "${fileDirname}", + "port": 9000 + } + ] } \ No newline at end of file diff --git a/containers/php-7/.vscodeignore b/containers/php-7/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/php-7/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/php-container/dev-container.dockerfile b/containers/php-7/dev-container.dockerfile similarity index 66% rename from dev-containers/php-container/dev-container.dockerfile rename to containers/php-7/dev-container.dockerfile index f837711570..58ec11f1f0 100644 --- a/dev-containers/php-container/dev-container.dockerfile +++ b/containers/php-7/dev-container.dockerfile @@ -1,11 +1,17 @@ -FROM php:7-cli - -# Install xdebug -RUN yes | pecl install xdebug \ - && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \ - && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \ - && echo "xdebug.remote_autostart=on" >> /usr/local/etc/php/conf.d/xdebug.ini - -# Install git -RUN apt-get update && apt-get -y install git \ - && rm -rf /var/lib/apt/lists/* +FROM php:7-cli + +# Install xdebug +RUN yes | pecl install xdebug \ + && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \ + && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \ + && echo "xdebug.remote_autostart=on" >> /usr/local/etc/php/conf.d/xdebug.ini + +# Install git +RUN apt-get update && apt-get -y install git + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/dev-containers/php-container/main.php b/containers/php-7/test-project/main.php similarity index 90% rename from dev-containers/php-container/main.php rename to containers/php-7/test-project/main.php index ad28c91906..2b37c55733 100644 --- a/dev-containers/php-container/main.php +++ b/containers/php-7/test-project/main.php @@ -1,9 +1,9 @@ - \ No newline at end of file diff --git a/dev-containers/plantuml-container/.vscode/devContainer.json b/containers/plantuml/.vscode/devContainer.json similarity index 100% rename from dev-containers/plantuml-container/.vscode/devContainer.json rename to containers/plantuml/.vscode/devContainer.json diff --git a/containers/plantuml/.vscodeignore b/containers/plantuml/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/plantuml/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/plantuml-container/README.md b/containers/plantuml/README.md similarity index 100% rename from dev-containers/plantuml-container/README.md rename to containers/plantuml/README.md diff --git a/dev-containers/plantuml-container/dev-container.dockerfile b/containers/plantuml/dev-container.dockerfile similarity index 100% rename from dev-containers/plantuml-container/dev-container.dockerfile rename to containers/plantuml/dev-container.dockerfile diff --git a/dev-containers/plantuml-container/samples/markdown-sample.md b/containers/plantuml/test-project/markdown-sample.md similarity index 100% rename from dev-containers/plantuml-container/samples/markdown-sample.md rename to containers/plantuml/test-project/markdown-sample.md diff --git a/dev-containers/plantuml-container/samples/sample.plantuml b/containers/plantuml/test-project/sample.plantuml similarity index 100% rename from dev-containers/plantuml-container/samples/sample.plantuml rename to containers/plantuml/test-project/sample.plantuml diff --git a/dev-containers/powershell-container/.vscode/devContainer.json b/containers/powershell/.vscode/devContainer.json similarity index 100% rename from dev-containers/powershell-container/.vscode/devContainer.json rename to containers/powershell/.vscode/devContainer.json diff --git a/containers/powershell/.vscodeignore b/containers/powershell/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/powershell/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/powershell-container/dev-container.dockerfile b/containers/powershell/dev-container.dockerfile similarity index 100% rename from dev-containers/powershell-container/dev-container.dockerfile rename to containers/powershell/dev-container.dockerfile diff --git a/dev-containers/powershell-container/test.ps1 b/containers/powershell/test-project/test.ps1 similarity index 100% rename from dev-containers/powershell-container/test.ps1 rename to containers/powershell/test-project/test.ps1 diff --git a/containers/python-2/.vscode/devContainer.json b/containers/python-2/.vscode/devContainer.json new file mode 100644 index 0000000000..5a674831df --- /dev/null +++ b/containers/python-2/.vscode/devContainer.json @@ -0,0 +1,8 @@ +{ + "name": "Python 2", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "ms-python.python", + "LittleFoxTeam.vscode-python-test-adapter" + ] +} diff --git a/containers/python-2/.vscode/launch.json b/containers/python-2/.vscode/launch.json new file mode 100644 index 0000000000..1298fb1ca1 --- /dev/null +++ b/containers/python-2/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Current File (Integrated Terminal)", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal" + } + ] +} \ No newline at end of file diff --git a/containers/python-2/.vscode/settings.json b/containers/python-2/.vscode/settings.json new file mode 100644 index 0000000000..8ad19d5bb5 --- /dev/null +++ b/containers/python-2/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "/usr/local/bin/python" +} \ No newline at end of file diff --git a/containers/python-2/.vscodeignore b/containers/python-2/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/python-2/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/python-2/dev-container.dockerfile b/containers/python-2/dev-container.dockerfile new file mode 100644 index 0000000000..77b08f2358 --- /dev/null +++ b/containers/python-2/dev-container.dockerfile @@ -0,0 +1,15 @@ +FROM python:2-slim + +RUN pip install pylint + +# Install git +RUN apt-get update && apt-get -y install git + +# Install any missing dependencies for enhanced language service +RUN apt-get install libicu57 + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/python-container/hello.py b/containers/python-2/test-project/hello.py similarity index 96% rename from dev-containers/python-container/hello.py rename to containers/python-2/test-project/hello.py index 0e5a381586..b65fa72173 100644 --- a/dev-containers/python-container/hello.py +++ b/containers/python-2/test-project/hello.py @@ -1,3 +1,3 @@ -# This program prints Hello, world! - +# This program prints Hello, world! + print('Hello, world!') \ No newline at end of file diff --git a/dev-containers/django-container/.vscode/devContainer.json b/containers/python-3-django/.vscode/devContainer.json similarity index 63% rename from dev-containers/django-container/.vscode/devContainer.json rename to containers/python-3-django/.vscode/devContainer.json index 09820bff8f..729c7ccffb 100644 --- a/dev-containers/django-container/.vscode/devContainer.json +++ b/containers/python-3-django/.vscode/devContainer.json @@ -1,9 +1,10 @@ -{ - "name": "Django", - "dockerFile": "dev-container.dockerfile", - "appPort": 8080, - "extensions": [ - "ms-python.python", - "batisteo.vscode-django" - ] -} +{ + "name": "Django", + "dockerFile": "dev-container.dockerfile", + "appPort": 8080, + "extensions": [ + "ms-python.python", + "batisteo.vscode-django", + "LittleFoxTeam.vscode-python-test-adapter" + ] +} diff --git a/dev-containers/django-container/.vscode/launch.json b/containers/python-3-django/.vscode/launch.json similarity index 88% rename from dev-containers/django-container/.vscode/launch.json rename to containers/python-3-django/.vscode/launch.json index 940e8572dc..84e34f89b3 100644 --- a/dev-containers/django-container/.vscode/launch.json +++ b/containers/python-3-django/.vscode/launch.json @@ -1,22 +1,22 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Python: Django", - "type": "python", - "request": "launch", - "program": "${workspaceFolder}/manage.py", - "console": "integratedTerminal", - "args": [ - "runserver", - "0.0.0.0:8080", - "--noreload", - "--nothreading" - ], - "django": true - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Django", + "type": "python", + "request": "launch", + "program": "${workspaceFolder}/test-project/manage.py", + "console": "integratedTerminal", + "args": [ + "runserver", + "0.0.0.0:8080", + "--noreload", + "--nothreading" + ], + "django": true + } + ] } \ No newline at end of file diff --git a/containers/python-3-django/.vscode/settings.json b/containers/python-3-django/.vscode/settings.json new file mode 100644 index 0000000000..500bc70073 --- /dev/null +++ b/containers/python-3-django/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.linting.pylintEnabled": true +} \ No newline at end of file diff --git a/containers/python-3-django/.vscodeignore b/containers/python-3-django/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/python-3-django/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/python-3-django/dev-container.dockerfile b/containers/python-3-django/dev-container.dockerfile new file mode 100644 index 0000000000..d358f37ed6 --- /dev/null +++ b/containers/python-3-django/dev-container.dockerfile @@ -0,0 +1,24 @@ +FROM python:3-slim + +ENV PYTHONUNBUFFERED 1 + +RUN pip install pylint + +RUN mkdir /app +WORKDIR /app + +ADD requirements.txt /app/ +RUN pip install -r requirements.txt +ADD . /app/ + +# Install git +RUN apt-get update && apt-get -y install git + +# Install any missing dependencies for enhanced language service +RUN apt-get install libicu57 + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/django-container/requirements.txt b/containers/python-3-django/requirements.txt similarity index 100% rename from dev-containers/django-container/requirements.txt rename to containers/python-3-django/requirements.txt diff --git a/containers/python-3-django/test-project/db.sqlite3 b/containers/python-3-django/test-project/db.sqlite3 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dev-containers/django-container/manage.py b/containers/python-3-django/test-project/manage.py similarity index 97% rename from dev-containers/django-container/manage.py rename to containers/python-3-django/test-project/manage.py index 66b2f2bb20..91d2549878 100644 --- a/dev-containers/django-container/manage.py +++ b/containers/python-3-django/test-project/manage.py @@ -1,15 +1,15 @@ -#!/usr/bin/env python -import os -import sys - -if __name__ == '__main__': - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'web_project.settings') - try: - from django.core.management import execute_from_command_line - except ImportError as exc: - raise ImportError( - "Couldn't import Django. Are you sure it's installed and " - "available on your PYTHONPATH environment variable? Did you " - "forget to activate a virtual environment?" - ) from exc - execute_from_command_line(sys.argv) +#!/usr/bin/env python +import os +import sys + +if __name__ == '__main__': + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'web_project.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) diff --git a/containers/python-3-django/test-project/web_project/__init__.py b/containers/python-3-django/test-project/web_project/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dev-containers/django-container/web_project/settings.py b/containers/python-3-django/test-project/web_project/settings.py similarity index 75% rename from dev-containers/django-container/web_project/settings.py rename to containers/python-3-django/test-project/web_project/settings.py index 299e3abedf..30202bbc59 100644 --- a/dev-containers/django-container/web_project/settings.py +++ b/containers/python-3-django/test-project/web_project/settings.py @@ -1,120 +1,101 @@ -""" -Django settings for web_project project. - -Generated by 'django-admin startproject' using Django 2.1.2. - -For more information on this file, see -https://docs.djangoproject.com/en/2.1/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/2.1/ref/settings/ -""" - -import os - -# Build paths inside the project like this: os.path.join(BASE_DIR, ...) -BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'y*h8iua%%z%fv&45hva&d1fx3pxvy$a*tx^ed9*970l3y5j+0p' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -ALLOWED_HOSTS = ['0.0.0.0'] - - -# Application definition - -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', -] - -MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', -] - -ROOT_URLCONF = 'web_project.urls' - -TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, -] - -WSGI_APPLICATION = 'web_project.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/2.1/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - } -} - - -# Password validation -# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators - -AUTH_PASSWORD_VALIDATORS = [ - { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', - }, -] - - -# Internationalization -# https://docs.djangoproject.com/en/2.1/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_L10N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/2.1/howto/static-files/ - -STATIC_URL = '/static/' +import os + +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +SECRET_KEY = 'y*h8iua%%z%fv&45hva&d1fx3pxvy$a*tx^ed9*970l3y5j+0p' + +DEBUG = True + +ALLOWED_HOSTS = ['0.0.0.0', 'localhost', '127.0.0.1'] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'web_project.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'web_project.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/2.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/2.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/2.1/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/containers/python-3-django/test-project/web_project/urls.py b/containers/python-3-django/test-project/web_project/urls.py new file mode 100644 index 0000000000..dfc73621fa --- /dev/null +++ b/containers/python-3-django/test-project/web_project/urls.py @@ -0,0 +1,6 @@ +from django.contrib import admin +from django.urls import path + +urlpatterns = [ + path('admin/', admin.site.urls), +] diff --git a/containers/python-3-django/test-project/web_project/wsgi.py b/containers/python-3-django/test-project/web_project/wsgi.py new file mode 100644 index 0000000000..af69bbd209 --- /dev/null +++ b/containers/python-3-django/test-project/web_project/wsgi.py @@ -0,0 +1,7 @@ +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'web_project.settings') + +application = get_wsgi_application() diff --git a/containers/python-3-flask-redis/.vscode/devContainer.json b/containers/python-3-flask-redis/.vscode/devContainer.json new file mode 100644 index 0000000000..640087b414 --- /dev/null +++ b/containers/python-3-flask-redis/.vscode/devContainer.json @@ -0,0 +1,10 @@ +{ + "name": "Python & Redis", + "dockerComposeFile": "docker-compose.dev-container.yml", + "service": "web", + "volume": "app", + "extensions": [ + "ms-python.python", + "LittleFoxTeam.vscode-python-test-adapter" + ] +} \ No newline at end of file diff --git a/containers/python-3-flask-redis/.vscode/launch.json b/containers/python-3-flask-redis/.vscode/launch.json new file mode 100644 index 0000000000..47c8750ecf --- /dev/null +++ b/containers/python-3-flask-redis/.vscode/launch.json @@ -0,0 +1,28 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Flask", + "type": "python", + "request": "launch", + "module": "flask", + "env": { + "FLASK_APP": "app.py", + "FLASK_ENV": "development", + "FLASK_DEBUG": "0" + }, + "cwd": "${workspaceFolder}/test-project", + "args": [ + "run", + "-h", "0.0.0.0", + "-p", "5000", + "--no-debugger", + "--no-reload" + ], + "jinja": true + } + ] +} \ No newline at end of file diff --git a/containers/python-3-flask-redis/.vscode/settings.json b/containers/python-3-flask-redis/.vscode/settings.json new file mode 100644 index 0000000000..500bc70073 --- /dev/null +++ b/containers/python-3-flask-redis/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.linting.pylintEnabled": true +} \ No newline at end of file diff --git a/containers/python-3-flask-redis/.vscodeignore b/containers/python-3-flask-redis/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/python-3-flask-redis/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/python-3-flask-redis/dev-container.dockerfile b/containers/python-3-flask-redis/dev-container.dockerfile new file mode 100644 index 0000000000..a595772a11 --- /dev/null +++ b/containers/python-3-flask-redis/dev-container.dockerfile @@ -0,0 +1,21 @@ +FROM python:3-slim + +RUN mkdir /app +WORKDIR /app + +ADD requirements.txt /app/ +RUN pip install -r requirements.txt + +RUN pip install pylint + +# Install git +RUN apt-get update && apt-get -y install git + +# Install any missing dependencies for enhanced language service +RUN apt-get install libicu57 + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/docker-compose-tests/python-redis/docker-compose.develop.yml b/containers/python-3-flask-redis/docker-compose.dev-container.yml similarity index 72% rename from docker-compose-tests/python-redis/docker-compose.develop.yml rename to containers/python-3-flask-redis/docker-compose.dev-container.yml index c8b9545bbd..3827b38899 100644 --- a/docker-compose-tests/python-redis/docker-compose.develop.yml +++ b/containers/python-3-flask-redis/docker-compose.dev-container.yml @@ -6,9 +6,8 @@ services: dockerfile: dev-container.dockerfile ports: - "5000:5000" - - "8000:8000" volumes: - .:/app - command: /bin/sh -c "while :; do sleep 5000; done" + command: sleep infinity redis: image: "redis:alpine" diff --git a/docker-compose-tests/python-redis/requirements.txt b/containers/python-3-flask-redis/requirements.txt similarity index 100% rename from docker-compose-tests/python-redis/requirements.txt rename to containers/python-3-flask-redis/requirements.txt diff --git a/docker-compose-tests/python-redis/Dockerfile b/containers/python-3-flask-redis/test-project/Dockerfile similarity index 74% rename from docker-compose-tests/python-redis/Dockerfile rename to containers/python-3-flask-redis/test-project/Dockerfile index 3530bb423d..f0308bcc7e 100644 --- a/docker-compose-tests/python-redis/Dockerfile +++ b/containers/python-3-flask-redis/test-project/Dockerfile @@ -1,5 +1,5 @@ FROM python:3 -ADD . /code -WORKDIR /code +ADD . /app +WORKDIR /app RUN pip install -r requirements.txt CMD ["python", "app.py"] \ No newline at end of file diff --git a/docker-compose-tests/python-redis/app.py b/containers/python-3-flask-redis/test-project/app.py similarity index 100% rename from docker-compose-tests/python-redis/app.py rename to containers/python-3-flask-redis/test-project/app.py diff --git a/docker-compose-tests/python-redis/docker-compose.yml b/containers/python-3-flask-redis/test-project/docker-compose.yml similarity index 100% rename from docker-compose-tests/python-redis/docker-compose.yml rename to containers/python-3-flask-redis/test-project/docker-compose.yml diff --git a/containers/python-3-jupyter-pyspark/.vscode/devContainer.json b/containers/python-3-jupyter-pyspark/.vscode/devContainer.json new file mode 100644 index 0000000000..43435d9326 --- /dev/null +++ b/containers/python-3-jupyter-pyspark/.vscode/devContainer.json @@ -0,0 +1,9 @@ +{ + "name": "Jupyter PySpark", + "image": "jupyter/pyspark-notebook", + "appPort": 8888, + "extensions": [ + "ms-python.python", + "LittleFoxTeam.vscode-python-test-adapter" + ] +} diff --git a/containers/python-3-jupyter-pyspark/.vscode/settings.json b/containers/python-3-jupyter-pyspark/.vscode/settings.json new file mode 100644 index 0000000000..7b330bd8a7 --- /dev/null +++ b/containers/python-3-jupyter-pyspark/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "python.linting.enabled": true, + "python.dataScience.useDefaultConfigForJupyter": true, + "python.dataScience.notebookFileRoot": "${workspaceFolder}/test-project", + "python.pythonPath": "/opt/conda/bin/python" + +} \ No newline at end of file diff --git a/containers/python-3-jupyter-pyspark/.vscodeignore b/containers/python-3-jupyter-pyspark/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/python-3-jupyter-pyspark/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/python-3-jupyter-pyspark/dev-container.dockerfile b/containers/python-3-jupyter-pyspark/dev-container.dockerfile new file mode 100644 index 0000000000..4f0a72e3b0 --- /dev/null +++ b/containers/python-3-jupyter-pyspark/dev-container.dockerfile @@ -0,0 +1,15 @@ +FROM jupyter/pyspark-notebook + +USER root + +# Install git +RUN apt-get update && apt-get -y install git + +# Install any missing dependencies for enhanced language service +RUN apt-get install libicu57 + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/jupyter-container/notebook.py b/containers/python-3-jupyter-pyspark/test-project/notebook.py similarity index 95% rename from dev-containers/jupyter-container/notebook.py rename to containers/python-3-jupyter-pyspark/test-project/notebook.py index 94387a88d5..3916097149 100644 --- a/dev-containers/jupyter-container/notebook.py +++ b/containers/python-3-jupyter-pyspark/test-project/notebook.py @@ -1,8 +1,8 @@ -#%% -import matplotlib.pyplot as plt -import matplotlib as mpl -import numpy as np - -x = np.linspace(0, 20, 100) -plt.plot(x, np.sin(x)) +#%% +import matplotlib.pyplot as plt +import matplotlib as mpl +import numpy as np + +x = np.linspace(0, 20, 100) +plt.plot(x, np.sin(x)) plt.show() \ No newline at end of file diff --git a/containers/python-3/.vscode/devContainer.json b/containers/python-3/.vscode/devContainer.json new file mode 100644 index 0000000000..18b37052db --- /dev/null +++ b/containers/python-3/.vscode/devContainer.json @@ -0,0 +1,8 @@ +{ + "name": "Python 3", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "ms-python.python", + "LittleFoxTeam.vscode-python-test-adapter" + ] +} diff --git a/containers/python-3/.vscode/launch.json b/containers/python-3/.vscode/launch.json new file mode 100644 index 0000000000..1298fb1ca1 --- /dev/null +++ b/containers/python-3/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Current File (Integrated Terminal)", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal" + } + ] +} \ No newline at end of file diff --git a/containers/python-3/.vscode/settings.json b/containers/python-3/.vscode/settings.json new file mode 100644 index 0000000000..500bc70073 --- /dev/null +++ b/containers/python-3/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.linting.pylintEnabled": true +} \ No newline at end of file diff --git a/containers/python-3/.vscodeignore b/containers/python-3/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/python-3/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/python-3/dev-container.dockerfile b/containers/python-3/dev-container.dockerfile new file mode 100644 index 0000000000..aacb5e8585 --- /dev/null +++ b/containers/python-3/dev-container.dockerfile @@ -0,0 +1,15 @@ +FROM python:3-slim + +RUN pip install pylint + +# Install git +RUN apt-get update && apt-get -y install git + +# Install any missing dependencies for enhanced language service +RUN apt-get install libicu57 + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/containers/python-3/test-project/hello.py b/containers/python-3/test-project/hello.py new file mode 100644 index 0000000000..b65fa72173 --- /dev/null +++ b/containers/python-3/test-project/hello.py @@ -0,0 +1,3 @@ +# This program prints Hello, world! + +print('Hello, world!') \ No newline at end of file diff --git a/dev-containers/ruby-container/.vscode/devContainer.json b/containers/ruby-2/.vscode/devContainer.json similarity index 94% rename from dev-containers/ruby-container/.vscode/devContainer.json rename to containers/ruby-2/.vscode/devContainer.json index 40f11cc432..319db2a975 100644 --- a/dev-containers/ruby-container/.vscode/devContainer.json +++ b/containers/ruby-2/.vscode/devContainer.json @@ -1,7 +1,7 @@ -{ - "name": "Ruby", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "rebornix.Ruby" - ] +{ + "name": "Ruby", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "rebornix.Ruby" + ] } \ No newline at end of file diff --git a/dev-containers/ruby-container/.vscode/launch.json b/containers/ruby-2/.vscode/launch.json similarity index 86% rename from dev-containers/ruby-container/.vscode/launch.json rename to containers/ruby-2/.vscode/launch.json index 935f8853a1..2412b34381 100644 --- a/dev-containers/ruby-container/.vscode/launch.json +++ b/containers/ruby-2/.vscode/launch.json @@ -1,15 +1,15 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Debug Local File", - "type": "Ruby", - "request": "launch", - "cwd": "${workspaceRoot}", - "program": "${workspaceRoot}/hello.rb" - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Debug Local File", + "type": "Ruby", + "request": "launch", + "cwd": "${workspaceRoot}", + "program": "${workspaceRoot}/test-project/hello.rb" + } + ] } \ No newline at end of file diff --git a/containers/ruby-2/.vscodeignore b/containers/ruby-2/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/ruby-2/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/ruby-2/dev-container.dockerfile b/containers/ruby-2/dev-container.dockerfile new file mode 100644 index 0000000000..b08adc896f --- /dev/null +++ b/containers/ruby-2/dev-container.dockerfile @@ -0,0 +1,15 @@ +FROM ruby:2 + +# Install ruby-debug-ide and debase +RUN gem install ruby-debug-ide +RUN gem install debase + +# Install git +RUN apt-get update && apt-get -y install git + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/dev-containers/ruby-container/hello.rb b/containers/ruby-2/test-project/hello.rb similarity index 94% rename from dev-containers/ruby-container/hello.rb rename to containers/ruby-2/test-project/hello.rb index d9b67431b2..35280d67b3 100644 --- a/dev-containers/ruby-container/hello.rb +++ b/containers/ruby-2/test-project/hello.rb @@ -1,9 +1,9 @@ -def sayGoodnight(name) - result = "Goodnight, " + name - return result -end - - - # Time for bed... -puts sayGoodnight("John-Boy") -puts sayGoodnight("Mary-Ellen") +def sayGoodnight(name) + result = "Goodnight, " + name + return result +end + + + # Time for bed... +puts sayGoodnight("John-Boy") +puts sayGoodnight("Mary-Ellen") diff --git a/dev-containers/rust-container/.vscode/devContainer.json b/containers/rust/.vscode/devContainer.json similarity index 94% rename from dev-containers/rust-container/.vscode/devContainer.json rename to containers/rust/.vscode/devContainer.json index 65b3cf6597..c3666f9207 100644 --- a/dev-containers/rust-container/.vscode/devContainer.json +++ b/containers/rust/.vscode/devContainer.json @@ -1,14 +1,14 @@ -{ - "name": "Rust", - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "rust-lang.rust", - "bungcip.better-toml", - "vadimcn.vscode-lldb" - ], - "runArgs": [ - "--cap-add=SYS_PTRACE", - "--security-opt", - "seccomp=unconfined" - ] +{ + "name": "Rust", + "dockerFile": "dev-container.dockerfile", + "extensions": [ + "rust-lang.rust", + "bungcip.better-toml", + "vadimcn.vscode-lldb" + ], + "runArgs": [ + "--cap-add=SYS_PTRACE", + "--security-opt", + "seccomp=unconfined" + ] } \ No newline at end of file diff --git a/dev-containers/rust-container/.vscode/launch.json b/containers/rust/.vscode/launch.json similarity index 91% rename from dev-containers/rust-container/.vscode/launch.json rename to containers/rust/.vscode/launch.json index d7e4a51a41..acc19c79ab 100644 --- a/dev-containers/rust-container/.vscode/launch.json +++ b/containers/rust/.vscode/launch.json @@ -19,7 +19,7 @@ } }, "args": [], - "cwd": "${workspaceFolder}" + "cwd": "${workspaceFolder}/test-project" }, { "type": "lldb", @@ -37,7 +37,7 @@ } }, "args": [], - "cwd": "${workspaceFolder}" + "cwd": "${workspaceFolder}/test-project" } ] } \ No newline at end of file diff --git a/dev-containers/rust-container/.vscode/settings.json b/containers/rust/.vscode/settings.json similarity index 100% rename from dev-containers/rust-container/.vscode/settings.json rename to containers/rust/.vscode/settings.json diff --git a/containers/rust/.vscodeignore b/containers/rust/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/rust/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/containers/rust/dev-container.dockerfile b/containers/rust/dev-container.dockerfile new file mode 100644 index 0000000000..3cc85de0fb --- /dev/null +++ b/containers/rust/dev-container.dockerfile @@ -0,0 +1,16 @@ +FROM rust:1 + +RUN rustup update +RUN rustup component add rls rust-analysis rust-src + +# Install git +RUN apt-get update && apt-get -y install git + +# Install other dependencies +RUN apt-get install lldb-3.9 + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/rust-container/Cargo.lock b/containers/rust/test-project/Cargo.lock similarity index 100% rename from dev-containers/rust-container/Cargo.lock rename to containers/rust/test-project/Cargo.lock diff --git a/dev-containers/rust-container/Cargo.toml b/containers/rust/test-project/Cargo.toml similarity index 100% rename from dev-containers/rust-container/Cargo.toml rename to containers/rust/test-project/Cargo.toml diff --git a/dev-containers/rust-container/src/main.rs b/containers/rust/test-project/src/main.rs similarity index 100% rename from dev-containers/rust-container/src/main.rs rename to containers/rust/test-project/src/main.rs diff --git a/dev-containers/swift-container/.vscode/devContainer.json b/containers/swift-4/.vscode/devContainer.json similarity index 100% rename from dev-containers/swift-container/.vscode/devContainer.json rename to containers/swift-4/.vscode/devContainer.json diff --git a/dev-containers/swift-container/.vscode/launch.json b/containers/swift-4/.vscode/launch.json similarity index 62% rename from dev-containers/swift-container/.vscode/launch.json rename to containers/swift-4/.vscode/launch.json index 5d2b080047..52f714df63 100644 --- a/dev-containers/swift-container/.vscode/launch.json +++ b/containers/swift-4/.vscode/launch.json @@ -4,9 +4,9 @@ "type": "lldb", "request": "launch", "name": "Run your Executable", - "program": "${workspaceFolder}/.build/debug/helloworld", + "program": "${workspaceFolder}/test-project/.build/debug/helloworld", "args": [], - "cwd": "${workspaceFolder}", + "cwd": "${workspaceFolder}/test-project", "preLaunchTask": "swift-build" } ] diff --git a/dev-containers/swift-container/.vscode/settings.json b/containers/swift-4/.vscode/settings.json similarity index 100% rename from dev-containers/swift-container/.vscode/settings.json rename to containers/swift-4/.vscode/settings.json diff --git a/dev-containers/swift-container/.vscode/tasks.json b/containers/swift-4/.vscode/tasks.json similarity index 100% rename from dev-containers/swift-container/.vscode/tasks.json rename to containers/swift-4/.vscode/tasks.json diff --git a/containers/swift-4/.vscodeignore b/containers/swift-4/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/swift-4/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/swift-container/dev-container.dockerfile b/containers/swift-4/dev-container.dockerfile similarity index 78% rename from dev-containers/swift-container/dev-container.dockerfile rename to containers/swift-4/dev-container.dockerfile index e01ddc70a8..f23e3a02d0 100644 --- a/dev-containers/swift-container/dev-container.dockerfile +++ b/containers/swift-4/dev-container.dockerfile @@ -9,5 +9,9 @@ RUN export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/swift:/usr/lib RUN ln -s /usr/lib/libsourcekitdInProc.so /usr/lib/sourcekitdInProc RUN cd sourcekite && swift build -Xlinker -l:sourcekitdInProc -c release -# cleanup -RUN rm -rf /var/lib/apt/lists/* +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && apt-get autoclean -y \ + && rm -rf /var/lib/apt/lists/* + diff --git a/dev-containers/swift-container/Package.swift b/containers/swift-4/test-project/Package.swift similarity index 100% rename from dev-containers/swift-container/Package.swift rename to containers/swift-4/test-project/Package.swift diff --git a/dev-containers/swift-container/Sources/main.swift b/containers/swift-4/test-project/Sources/main.swift similarity index 100% rename from dev-containers/swift-container/Sources/main.swift rename to containers/swift-4/test-project/Sources/main.swift diff --git a/dev-containers/typescript-container/.vscode/devContainer.json b/containers/typescript/.vscode/devContainer.json similarity index 95% rename from dev-containers/typescript-container/.vscode/devContainer.json rename to containers/typescript/.vscode/devContainer.json index d4c071b6e9..f2cda05758 100644 --- a/dev-containers/typescript-container/.vscode/devContainer.json +++ b/containers/typescript/.vscode/devContainer.json @@ -1,8 +1,8 @@ -{ - "name": "TypeScript", - "dockerFile": "dev-container.dockerfile", - "appPort": 8090, - "extensions": [ - "ms-vscode.vscode-typescript-tslint-plugin" - ] +{ + "name": "TypeScript", + "dockerFile": "dev-container.dockerfile", + "appPort": 8090, + "extensions": [ + "ms-vscode.vscode-typescript-tslint-plugin" + ] } \ No newline at end of file diff --git a/dev-containers/typescript-container/.vscode/launch.json b/containers/typescript/.vscode/launch.json similarity index 85% rename from dev-containers/typescript-container/.vscode/launch.json rename to containers/typescript/.vscode/launch.json index 86ad19d564..87008d97f1 100644 --- a/dev-containers/typescript-container/.vscode/launch.json +++ b/containers/typescript/.vscode/launch.json @@ -1,15 +1,15 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "node", - "request": "launch", - "name": "Launch Program", - "program": "${workspaceFolder}/out/server.js", - "preLaunchTask": "npm: compile" - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "program": "${workspaceFolder}/test-project/out/server.js", + "preLaunchTask": "npm: compile" + } + ] } \ No newline at end of file diff --git a/dev-containers/typescript-container/.vscode/settings.json b/containers/typescript/.vscode/settings.json similarity index 97% rename from dev-containers/typescript-container/.vscode/settings.json rename to containers/typescript/.vscode/settings.json index de3a373f6f..0cce3720e6 100644 --- a/dev-containers/typescript-container/.vscode/settings.json +++ b/containers/typescript/.vscode/settings.json @@ -1,3 +1,3 @@ -{ - "_workbench.uiExtensions": ["-ms-vscode.vscode-typescript-tslint-plugin"] +{ + "_workbench.uiExtensions": ["-ms-vscode.vscode-typescript-tslint-plugin"] } \ No newline at end of file diff --git a/containers/typescript/.vscodeignore b/containers/typescript/.vscodeignore new file mode 100644 index 0000000000..bab398d98f --- /dev/null +++ b/containers/typescript/.vscodeignore @@ -0,0 +1,6 @@ +README.md +test-project +.vscode/launch.json +.vscode/launch.test.json +.vscode/settings.json +.vscode/tasks.json diff --git a/dev-containers/typescript-container/dev-container.dockerfile b/containers/typescript/dev-container.dockerfile similarity index 95% rename from dev-containers/typescript-container/dev-container.dockerfile rename to containers/typescript/dev-container.dockerfile index 7e53bb6046..6362023ecf 100644 --- a/dev-containers/typescript-container/dev-container.dockerfile +++ b/containers/typescript/dev-container.dockerfile @@ -1,3 +1,3 @@ -FROM chrmarti/node:latest - -RUN npm install -g tslint typescript +FROM chrmarti/node:latest + +RUN npm install -g tslint typescript diff --git a/dev-containers/typescript-container/package.json b/containers/typescript/test-project/package.json similarity index 95% rename from dev-containers/typescript-container/package.json rename to containers/typescript/test-project/package.json index b49e8787f5..628715ce0c 100644 --- a/dev-containers/typescript-container/package.json +++ b/containers/typescript/test-project/package.json @@ -1,20 +1,20 @@ -{ - "name": "docker_web_app", - "private": true, - "version": "1.0.0", - "description": "Node.js on Docker", - "author": "First Last ", - "main": "out/server.js", - "scripts": { - "compile": "tsc -p tsconfig.json", - "start": "node out/server.js" - }, - "dependencies": { - "express": "^4.16.1" - }, - "devDependencies": { - "@types/express": "^4.16.0", - "tslint": "^5.11.0", - "typescript": "3.1.4" - } -} +{ + "name": "docker_web_app", + "private": true, + "version": "1.0.0", + "description": "Node.js on Docker", + "author": "First Last ", + "main": "out/server.js", + "scripts": { + "compile": "tsc -p tsconfig.json", + "start": "node out/server.js" + }, + "dependencies": { + "express": "^4.16.1" + }, + "devDependencies": { + "@types/express": "^4.16.0", + "tslint": "^5.11.0", + "typescript": "3.1.4" + } +} diff --git a/dev-containers/typescript-container/src/server.ts b/containers/typescript/test-project/src/server.ts similarity index 96% rename from dev-containers/typescript-container/src/server.ts rename to containers/typescript/test-project/src/server.ts index 2d4bfa8c10..eb79d444ad 100644 --- a/dev-containers/typescript-container/src/server.ts +++ b/containers/typescript/test-project/src/server.ts @@ -1,19 +1,19 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as express from 'express'; - -// Constants -const PORT = 8090; -const HOST = '0.0.0.0'; - -// App -const app = express(); -app.get('/', (req, res) => { - res.send('Hello world\n'); -}); - -app.listen(PORT, HOST); -console.log(`Running on http://${HOST}:${PORT}`); +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as express from 'express'; + +// Constants +const PORT = 8090; +const HOST = '0.0.0.0'; + +// App +const app = express(); +app.get('/', (req, res) => { + res.send('Hello world\n'); +}); + +app.listen(PORT, HOST); +console.log(`Running on http://${HOST}:${PORT}`); diff --git a/dev-containers/typescript-container/tsconfig.json b/containers/typescript/test-project/tsconfig.json similarity index 93% rename from dev-containers/typescript-container/tsconfig.json rename to containers/typescript/test-project/tsconfig.json index 5cdc86cd01..f229880210 100644 --- a/dev-containers/typescript-container/tsconfig.json +++ b/containers/typescript/test-project/tsconfig.json @@ -1,11 +1,11 @@ -{ - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "strict": true, - "outDir": "out" - }, - "exclude": [ - "node_modules" - ] +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "strict": true, + "outDir": "out" + }, + "exclude": [ + "node_modules" + ] } \ No newline at end of file diff --git a/dev-containers/typescript-container/tslint.json b/containers/typescript/test-project/tslint.json similarity index 93% rename from dev-containers/typescript-container/tslint.json rename to containers/typescript/test-project/tslint.json index d575f8226f..fcb25ab8c0 100644 --- a/dev-containers/typescript-container/tslint.json +++ b/containers/typescript/test-project/tslint.json @@ -1,16 +1,16 @@ -{ - "defaultSeverity": "error", - "extends": [ - "tslint:recommended" - ], - "jsRules": {}, - "rules": { - "quotemark": false, - "no-console": false, - "indent": [ - true, - "tabs" - ] - }, - "rulesDirectory": [] +{ + "defaultSeverity": "error", + "extends": [ + "tslint:recommended" + ], + "jsRules": {}, + "rules": { + "quotemark": false, + "no-console": false, + "indent": [ + true, + "tabs" + ] + }, + "rulesDirectory": [] } \ No newline at end of file diff --git a/dev-containers/aspnet-container/.vscode/devContainer.json b/dev-containers/aspnet-container/.vscode/devContainer.json deleted file mode 100644 index e199eca64f..0000000000 --- a/dev-containers/aspnet-container/.vscode/devContainer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "ASP.NET", - "image": "microsoft/dotnet:sdk", - "appPort": 8090, - "extensions": [ - "ms-vscode.csharp" - ] -} \ No newline at end of file diff --git a/dev-containers/aspnet-container/.vscode/settings.json b/dev-containers/aspnet-container/.vscode/settings.json deleted file mode 100644 index 199521d831..0000000000 --- a/dev-containers/aspnet-container/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "razor.disabled": true -} diff --git a/dev-containers/azure-cli-container/dev-container.dockerfile b/dev-containers/azure-cli-container/dev-container.dockerfile deleted file mode 100644 index 5b339b6571..0000000000 --- a/dev-containers/azure-cli-container/dev-container.dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM debian - -RUN apt-get update \ - && apt-get install -y apt-transport-https curl gnupg2 lsb-release \ - && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/azure-cli.list \ - && curl -L https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ - && apt-get update \ - && apt-get install -y azure-cli \ - && rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/dev-containers/cpp-container/dev-container.dockerfile b/dev-containers/cpp-container/dev-container.dockerfile deleted file mode 100644 index e2c6282a99..0000000000 --- a/dev-containers/cpp-container/dev-container.dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM ubuntu:latest - -RUN apt-get update - -RUN apt-get -y install git - -RUN apt-get -y install build-essential cmake cppcheck valgrind \ No newline at end of file diff --git a/dev-containers/dart-web-container/.vscode/devContainer.json b/dev-containers/dart-web-container/.vscode/devContainer.json deleted file mode 100644 index 96396603f5..0000000000 --- a/dev-containers/dart-web-container/.vscode/devContainer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Dart", - "dockerFile": "dart-dev-container.dockerfile", - "extensions": [ - "dart-code.dart-code" - ], - "appPort": 8080 -} diff --git a/dev-containers/dart-web-container/Readme.md b/dev-containers/dart-web-container/Readme.md deleted file mode 100644 index 1938073bb7..0000000000 --- a/dev-containers/dart-web-container/Readme.md +++ /dev/null @@ -1,9 +0,0 @@ -## Dart Dev Container Sample - -* `cd quickstart` -* `pub get` -* `webdev serve --hostname 0.0.0.0 --live-reload` - -* Open [localhost:8080](http://localhost:8080) - -* Make changes to `main.dart` \ No newline at end of file diff --git a/dev-containers/dart-web-container/dart-dev-container.dockerfile b/dev-containers/dart-web-container/dart-dev-container.dockerfile deleted file mode 100755 index 2eb7058e3f..0000000000 --- a/dev-containers/dart-web-container/dart-dev-container.dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM google/dart -ENV PATH="$PATH":"/root/.pub-cache/bin" -RUN pub global activate webdev diff --git a/dev-containers/dart-web-container/quickstart/CHANGELOG.md b/dev-containers/dart-web-container/quickstart/CHANGELOG.md deleted file mode 100644 index 687440bac9..0000000000 --- a/dev-containers/dart-web-container/quickstart/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.0 - -- Initial version, created by Stagehand diff --git a/dev-containers/dart-web-container/quickstart/README.md b/dev-containers/dart-web-container/quickstart/README.md deleted file mode 100644 index 0dd3b612f3..0000000000 --- a/dev-containers/dart-web-container/quickstart/README.md +++ /dev/null @@ -1,4 +0,0 @@ -An absolute bare-bones web app. - -Created from templates made available by Stagehand under a BSD-style -[license](https://github.com/dart-lang/stagehand/blob/master/LICENSE). diff --git a/dev-containers/dart-web-container/quickstart/analysis_options.yaml b/dev-containers/dart-web-container/quickstart/analysis_options.yaml deleted file mode 100644 index a686c1b456..0000000000 --- a/dev-containers/dart-web-container/quickstart/analysis_options.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# Defines a default set of lint rules enforced for -# projects at Google. For details and rationale, -# see https://github.com/dart-lang/pedantic#enabled-lints. -include: package:pedantic/analysis_options.yaml - -# For lint rules and documentation, see http://dart-lang.github.io/linter/lints. -# Uncomment to specify additional rules. -# linter: -# rules: -# - camel_case_types - -analyzer: -# exclude: -# - path/to/excluded/files/** diff --git a/dev-containers/dart-web-container/quickstart/pubspec.yaml b/dev-containers/dart-web-container/quickstart/pubspec.yaml deleted file mode 100644 index 4b58b3bbff..0000000000 --- a/dev-containers/dart-web-container/quickstart/pubspec.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: quickstart -description: An absolute bare-bones web app. -# version: 1.0.0 -#homepage: https://www.example.com -#author: Your Name - -environment: - sdk: '>=2.1.0 <3.0.0' - -#dependencies: -# path: ^1.4.1 - -dev_dependencies: - build_runner: ^1.1.2 - build_web_compilers: ^1.0.0 - pedantic: ^1.0.0 diff --git a/dev-containers/dart-web-container/quickstart/web/favicon.ico b/dev-containers/dart-web-container/quickstart/web/favicon.ico deleted file mode 100644 index 7ba349b3e6..0000000000 Binary files a/dev-containers/dart-web-container/quickstart/web/favicon.ico and /dev/null differ diff --git a/dev-containers/dart-web-container/quickstart/web/main.dart b/dev-containers/dart-web-container/quickstart/web/main.dart deleted file mode 100644 index dd24d31df6..0000000000 --- a/dev-containers/dart-web-container/quickstart/web/main.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'dart:html'; - -void main() { - querySelector('#output').text = 'Your Dartww111 app is running.'; -} diff --git a/dev-containers/dart-web-container/quickstart/web/styles.css b/dev-containers/dart-web-container/quickstart/web/styles.css deleted file mode 100644 index cc035c95c9..0000000000 --- a/dev-containers/dart-web-container/quickstart/web/styles.css +++ /dev/null @@ -1,14 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Roboto); - -html, body { - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-family: 'Roboto', sans-serif; -} - -#output { - padding: 20px; - text-align: center; -} diff --git a/dev-containers/django-container/.gitignore b/dev-containers/django-container/.gitignore deleted file mode 100644 index 87724768d4..0000000000 --- a/dev-containers/django-container/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.DS_Store -*.pyc -battlesnake -.idea diff --git a/dev-containers/django-container/dev-container.dockerfile b/dev-containers/django-container/dev-container.dockerfile deleted file mode 100644 index 88757afb1c..0000000000 --- a/dev-containers/django-container/dev-container.dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM python:3 - -ENV PYTHONUNBUFFERED 1 - -RUN pip install pylint - -RUN mkdir /app -WORKDIR /app - -ADD requirements.txt /app/ -RUN pip install -r requirements.txt -ADD . /app/ \ No newline at end of file diff --git a/dev-containers/django-container/web_project/urls.py b/dev-containers/django-container/web_project/urls.py deleted file mode 100644 index 293376e982..0000000000 --- a/dev-containers/django-container/web_project/urls.py +++ /dev/null @@ -1,21 +0,0 @@ -"""web_project URL Configuration - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/2.1/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.contrib import admin -from django.urls import path - -urlpatterns = [ - path('admin/', admin.site.urls), -] diff --git a/dev-containers/django-container/web_project/wsgi.py b/dev-containers/django-container/web_project/wsgi.py deleted file mode 100644 index d7e2d566fd..0000000000 --- a/dev-containers/django-container/web_project/wsgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -WSGI config for web_project project. - -It exposes the WSGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/ -""" - -import os - -from django.core.wsgi import get_wsgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'web_project.settings') - -application = get_wsgi_application() diff --git a/dev-containers/fsharp-container/.gitignore b/dev-containers/fsharp-container/.gitignore deleted file mode 100644 index 8d4a6c08a8..0000000000 --- a/dev-containers/fsharp-container/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -bin -obj \ No newline at end of file diff --git a/dev-containers/fsharp-container/.vscode/launch.json b/dev-containers/fsharp-container/.vscode/launch.json deleted file mode 100644 index 1b96e72dd2..0000000000 --- a/dev-containers/fsharp-container/.vscode/launch.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": ".NET Core Launch (console)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "${workspaceFolder}/bin/Debug/netcoreapp2.2/app.dll", - "args": [], - "cwd": "${workspaceFolder}", - "console": "internalConsole", - "stopAtEntry": false, - "internalConsoleOptions": "openOnSessionStart" - }, - { - "name": ".NET Core Launch (web)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "${workspaceFolder}/bin/Debug/netcoreapp2.2/app.dll", - "args": [], - "cwd": "${workspaceFolder}", - "stopAtEntry": false, - "internalConsoleOptions": "openOnSessionStart", - "launchBrowser": { - "enabled": true, - "args": "${auto-detect-url}", - "windows": { - "command": "cmd.exe", - "args": "/C start ${auto-detect-url}" - }, - "osx": { - "command": "open" - }, - "linux": { - "command": "xdg-open" - } - }, - "env": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "sourceFileMap": { - "/Views": "${workspaceFolder}/Views" - } - }, - { - "name": ".NET Core Attach", - "type": "coreclr", - "request": "attach", - "processId": "${command:pickProcess}" - } - ] -} \ No newline at end of file diff --git a/dev-containers/fsharp-container/.vscode/settings.json b/dev-containers/fsharp-container/.vscode/settings.json deleted file mode 100644 index a10d73726e..0000000000 --- a/dev-containers/fsharp-container/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "FSharp.fsacRuntime": "netcore" -} \ No newline at end of file diff --git a/dev-containers/fsharp-container/dev-container.dockerfile b/dev-containers/fsharp-container/dev-container.dockerfile deleted file mode 100644 index d7da7c11b4..0000000000 --- a/dev-containers/fsharp-container/dev-container.dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM microsoft/dotnet:2.2-sdk - -RUN apt-get update - -RUN apt-get -y install git fsharp libunwind8 \ No newline at end of file diff --git a/dev-containers/java-container/.gitignore b/dev-containers/java-container/.gitignore deleted file mode 100644 index b20b0ede89..0000000000 --- a/dev-containers/java-container/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.DS_Store -.vscode/launch.test.json -.vscode/settings.json -my-app/target \ No newline at end of file diff --git a/dev-containers/java-container/dev-container.dockerfile b/dev-containers/java-container/dev-container.dockerfile deleted file mode 100644 index 484d9c34f8..0000000000 --- a/dev-containers/java-container/dev-container.dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM maven:3.6-jdk-8-slim - -# Install git -RUN apt-get update && apt-get -y install git \ - && rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/dev-containers/jupyter-container/.gitignore b/dev-containers/jupyter-container/.gitignore deleted file mode 100644 index 87724768d4..0000000000 --- a/dev-containers/jupyter-container/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.DS_Store -*.pyc -battlesnake -.idea diff --git a/dev-containers/jupyter-container/.vscode/devContainer.json b/dev-containers/jupyter-container/.vscode/devContainer.json deleted file mode 100644 index f4ad8656a0..0000000000 --- a/dev-containers/jupyter-container/.vscode/devContainer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "Jupyter", - "dockerFile": "dev-container.dockerfile", - "appPort": 8989, - "extensions": [ - "ms-python.python", - "LittleFoxTeam.vscode-python-test-adapter", - "donjayamanne.jupyter" - ] -} diff --git a/dev-containers/jupyter-container/.vscode/settings.json b/dev-containers/jupyter-container/.vscode/settings.json deleted file mode 100644 index ffd04ea9d2..0000000000 --- a/dev-containers/jupyter-container/.vscode/settings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "python.linting.enabled": false, - "jupyter.notebook.startupArgs": [ - "--no-browser", - "--port=8989", - "--ip=0.0.0.0", - "--allow-root", - "--NotebookApp.allow_origin=\"*\"" - ], -} \ No newline at end of file diff --git a/dev-containers/jupyter-container/dev-container.dockerfile b/dev-containers/jupyter-container/dev-container.dockerfile deleted file mode 100644 index a483014f6b..0000000000 --- a/dev-containers/jupyter-container/dev-container.dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM jupyter/scipy-notebook:83ed2c63671f - -# USER root - -# RUN pip install pylint - -# Install git -# RUN apt-get update && apt-get -y install git \ -# && apt-get -y install vim \ -# && apt-get install -y python-subprocess32 \ -# && apt-get install -y python-dev \ -# && rm -rf /var/lib/apt/lists/* - -# RUN pip install jupyter - -# USER jovyan \ No newline at end of file diff --git a/dev-containers/net-core-container/.gitignore b/dev-containers/net-core-container/.gitignore deleted file mode 100644 index 1746e3269e..0000000000 --- a/dev-containers/net-core-container/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -bin -obj diff --git a/dev-containers/net-core-container/.vscode/launch.json b/dev-containers/net-core-container/.vscode/launch.json deleted file mode 100644 index 1cf7024c11..0000000000 --- a/dev-containers/net-core-container/.vscode/launch.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - // Use IntelliSense to find out which attributes exist for C# debugging - // Use hover for the description of the existing attributes - // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md - "version": "0.2.0", - "configurations": [ - { - "name": ".NET Core Launch (console)", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/bin/Debug/netcoreapp2.1/aspnet-container.dll", - "args": [], - "cwd": "${workspaceFolder}", - // For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window - "console": "internalConsole", - "stopAtEntry": false, - "internalConsoleOptions": "openOnSessionStart" - }, - { - "name": ".NET Core Attach", - "type": "coreclr", - "request": "attach", - "processId": "${command:pickProcess}" - } - ,] -} \ No newline at end of file diff --git a/dev-containers/net-core-container/.vscode/tasks.json b/dev-containers/net-core-container/.vscode/tasks.json deleted file mode 100644 index 33233a1219..0000000000 --- a/dev-containers/net-core-container/.vscode/tasks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "build", - "command": "dotnet", - "type": "shell", - "args": [ - "build", - "${workspaceFolder}/aspnet-container.csproj" - ], - "problemMatcher": "$msCompile" - } - ] -} \ No newline at end of file diff --git a/dev-containers/net-core-container/Program.cs b/dev-containers/net-core-container/Program.cs deleted file mode 100644 index 215a45d841..0000000000 --- a/dev-containers/net-core-container/Program.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -namespace aspnet_container -{ - class Program - { - static void Main(string[] args) - { - Console.WriteLine("Hello World!"); - } - } -} diff --git a/dev-containers/net-core-container/Readme.md b/dev-containers/net-core-container/Readme.md deleted file mode 100644 index 9b990d2613..0000000000 --- a/dev-containers/net-core-container/Readme.md +++ /dev/null @@ -1,4 +0,0 @@ -# Workarounds: - -- disable razor in the settings (`razor.disabled: true`) -- in .vscode/tasks.json: change the `type` from `process` to `shell` \ No newline at end of file diff --git a/dev-containers/net-core-container/aspnet-container.csproj b/dev-containers/net-core-container/aspnet-container.csproj deleted file mode 100644 index b80f9c5a47..0000000000 --- a/dev-containers/net-core-container/aspnet-container.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - Exe - netcoreapp2.1 - aspnet_container - - - diff --git a/dev-containers/net-core-container/dev-container.dockerfile b/dev-containers/net-core-container/dev-container.dockerfile deleted file mode 100644 index 5ddb1684c7..0000000000 --- a/dev-containers/net-core-container/dev-container.dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM microsoft/dotnet:2.2-sdk - -RUN apt-get update - -RUN apt-get -y install git libunwind8 \ No newline at end of file diff --git a/dev-containers/node-docker/.gitignore b/dev-containers/node-docker/.gitignore deleted file mode 100644 index b512c09d47..0000000000 --- a/dev-containers/node-docker/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules \ No newline at end of file diff --git a/dev-containers/node-docker/.vscode/devContainer.json b/dev-containers/node-docker/.vscode/devContainer.json deleted file mode 100644 index 03fea488bb..0000000000 --- a/dev-containers/node-docker/.vscode/devContainer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Node.js", - "image": "chrmarti/node", - "appPort": 8090, - "extensions": [ - "dbaeumer.vscode-eslint" - ] -} \ No newline at end of file diff --git a/dev-containers/node-docker/server.js b/dev-containers/node-docker/server.js deleted file mode 100644 index bcfd6c4484..0000000000 --- a/dev-containers/node-docker/server.js +++ /dev/null @@ -1,21 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -'use strict'; - -const express = require('express'); - -// Constants -const PORT = 8090; -const HOST = '0.0.0.0'; - -// App -const app = express(); -app.get('/', (req, res) => { - res.send('Hello world\n'); -}); - -app.listen(PORT, HOST); -console.log(`Running on http://${HOST}:${PORT}`); \ No newline at end of file diff --git a/dev-containers/plantuml-container/.gitignore b/dev-containers/plantuml-container/.gitignore deleted file mode 100644 index c585e19389..0000000000 --- a/dev-containers/plantuml-container/.gitignore +++ /dev/null @@ -1 +0,0 @@ -out \ No newline at end of file diff --git a/dev-containers/python-container/.gitignore b/dev-containers/python-container/.gitignore deleted file mode 100644 index 87724768d4..0000000000 --- a/dev-containers/python-container/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.DS_Store -*.pyc -battlesnake -.idea diff --git a/dev-containers/python-container/.vscode/devContainer.json b/dev-containers/python-container/.vscode/devContainer.json deleted file mode 100644 index b6d0ca5cc0..0000000000 --- a/dev-containers/python-container/.vscode/devContainer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Python", - "dockerFile": "dev-container.dockerfile", - "appPort": 8989, - "extensions": [ - "ms-python.python" - ] -} diff --git a/dev-containers/python-container/dev-container.dockerfile b/dev-containers/python-container/dev-container.dockerfile deleted file mode 100644 index 83ff078ee5..0000000000 --- a/dev-containers/python-container/dev-container.dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM python:2.7-slim - -RUN pip install pylint - -# Install git -RUN apt-get update && apt-get -y install git \ - && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/ruby-container/dev-container.dockerfile b/dev-containers/ruby-container/dev-container.dockerfile deleted file mode 100644 index b2bb6c8dbf..0000000000 --- a/dev-containers/ruby-container/dev-container.dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM ruby:2.5 - -# Install ruby-debug-ide and debase -RUN gem install ruby-debug-ide -RUN gem install debase - -# Install git -RUN apt-get update && apt-get -y install git \ -&& rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/dev-containers/rust-container/.gitignore b/dev-containers/rust-container/.gitignore deleted file mode 100644 index 9f970225ad..0000000000 --- a/dev-containers/rust-container/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target/ \ No newline at end of file diff --git a/dev-containers/rust-container/dev-container.dockerfile b/dev-containers/rust-container/dev-container.dockerfile deleted file mode 100644 index 3da78ffb5b..0000000000 --- a/dev-containers/rust-container/dev-container.dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM rust:1.32 - -RUN rustup update -RUN rustup component add rls rust-analysis rust-src - -# Install required tools -RUN apt update && apt install -y \ - git \ - lldb-3.9 \ - && rm -rf /var/lib/apt/lists/* diff --git a/dev-containers/starter-snake-python b/dev-containers/starter-snake-python deleted file mode 160000 index 1267fa036e..0000000000 --- a/dev-containers/starter-snake-python +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1267fa036ecdbfceb14bf6431c336a8627b0c834 diff --git a/dev-containers/swift-container/.gitignore b/dev-containers/swift-container/.gitignore deleted file mode 100644 index b7f13992f4..0000000000 --- a/dev-containers/swift-container/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.build \ No newline at end of file diff --git a/doc/dev-container-dockerfile.md b/doc/dev-container-dockerfile.md deleted file mode 100644 index 787305d765..0000000000 --- a/doc/dev-container-dockerfile.md +++ /dev/null @@ -1,45 +0,0 @@ -# Defining a Development Container for a Tool Stack - -This page describes how to define a Development Container for a particular tool stack. As an example we will define a Development Container for Java. - -## Create the Development Container description file - -A Development Container has a description file that describes how the container is populated including which containers should be installed. The container description file is located in the `.vscode` folder and is called `devContainer.json`. - -In an empty folder create the description file: - -`devContainer.json` -```json -{ - "dockerFile": "dev-container.dockerfile", - "extensions": [ - "vscjava.vscode-java-pack" - ] -} -``` - -- The attribute `dockerFile` refers to the Dockerfile that is used to populate the container. -- The attribute `extensions` defines the list of extensions that should be installed into the container. In this case we want to install the 'Java Extension Pack' into the container. - -## Define the custom Dockerfile - -We want to create a Development Container for Java where we use the `vscode-java` extensions that require Java 8 and Maven. We therefore look for an image that comes with Java 8 and the latest version of Maven. Fortunately there is are [Maven](https://hub.docker.com/_/maven/) images on dockerhub. We pick the slim image with Maven 3.5 and the JDK 8, which is tagged with `3.5-jdk-8-slim`. - -This image does not come with git and we therefore install git into the development container. - -`dev-Container.dockerfile` -```Dockerfile -FROM maven:3.5-jdk-8-slim - - # Install git -RUN apt-get update && apt-get -y install git \ - && rm -rf /var/lib/apt/lists/* -``` - -## Limitations - -The current image constructions assumes that `apt` is available. This means 'alpine' images can currently not be used. We will eventually support different package managers. - -## Example - -Example development containers can be found in the [vscode-remote repository](https://github.com/Microsoft/vscode-remote/tree/remote-hackathon/remote/dev-containers). diff --git a/docker-compose-tests/node/.gitignore b/docker-compose-tests/node/.gitignore deleted file mode 100644 index b512c09d47..0000000000 --- a/docker-compose-tests/node/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules \ No newline at end of file diff --git a/docker-compose-tests/node/dev-container.dockerfile b/docker-compose-tests/node/dev-container.dockerfile deleted file mode 100644 index f64d41dfd8..0000000000 --- a/docker-compose-tests/node/dev-container.dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM node:8 - -RUN npm install -g eslint - -# Install git -RUN apt-get update && apt-get -y install git \ - && rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/docker-compose-tests/node/docker-compose.yml b/docker-compose-tests/node/docker-compose.yml deleted file mode 100644 index 5483264912..0000000000 --- a/docker-compose-tests/node/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '3' -services: - web: - build: . - ports: - - "8090:8090" \ No newline at end of file diff --git a/docker-compose-tests/python-redis/.vscode/devContainer.json b/docker-compose-tests/python-redis/.vscode/devContainer.json deleted file mode 100644 index 5d341efba3..0000000000 --- a/docker-compose-tests/python-redis/.vscode/devContainer.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "Python & Redis", - "dockerComposeFile": "docker-compose.develop.yml", - "service": "web", - "volume": "app", - "extensions": [ - "ms-python.python" - ] -} \ No newline at end of file diff --git a/docker-compose-tests/python-redis/dev-container.dockerfile b/docker-compose-tests/python-redis/dev-container.dockerfile deleted file mode 100644 index 39f46bd47a..0000000000 --- a/docker-compose-tests/python-redis/dev-container.dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM python:3 -ADD . /code -WORKDIR /code -RUN pip install -r requirements.txt -RUN pip install pylint -CMD ["python", "app.py"] -