My vscode remote container configuration assets.
- Use docker-compose.yml as option.
- Should you commit your .devcontainer/* assest and .vscode/launch.json?
https://medium.com/swlh/create-a-reproducible-dev-environment-with-vs-code-fd89285644da
My vscode remote container configuration assets.
https://medium.com/swlh/create-a-reproducible-dev-environment-with-vs-code-fd89285644da
| SPARKPOST_API_KEY="" | |
| FLASK_ENV=development | |
| FLASK_DEBUG= | |
| SECRET_KEY="RANDOM_STUFF" |
| // For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: | |
| // https://github.com/microsoft/vscode-dev-containers/tree/v0.112.0/containers/python-3 | |
| { | |
| "name": "Python 3", | |
| "build": { | |
| "dockerfile": "Dockerfile", | |
| "context": "..", | |
| // Update 'VARIANT' to pick a Python version. Rebuild the container | |
| // if it already exists to update. Available variants: 3, 3.6, 3.7, 3.8 | |
| "args": { "VARIANT": "3" } | |
| }, | |
| // Set *default* container specific settings.json values on container create. | |
| "settings": { | |
| "terminal.integrated.shell.linux": "/bin/bash", | |
| "python.pythonPath": "/usr/local/bin/python", | |
| "python.linting.enabled": true, | |
| "python.linting.pylintEnabled": true, | |
| "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", | |
| "python.formatting.blackPath": "/usr/local/py-utils/bin/black", | |
| "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", | |
| "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", | |
| "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", | |
| "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", | |
| "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", | |
| "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", | |
| "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint", | |
| "python.testing.pytestPath": "/usr/local/py-utils/bin/pytest" | |
| }, | |
| // Add the IDs of extensions you want installed when the container is created. | |
| "extensions": [ | |
| "ms-python.python" | |
| ], | |
| // Use 'forwardPorts' to make a list of ports inside the container available locally. | |
| "forwardPorts": [8080], | |
| // Use 'postCreateCommand' to run commands after the container is created. | |
| "postCreateCommand": "pip3 install --user -r requirements.txt", | |
| // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. | |
| // "remoteUser": "vscode" | |
| "runArgs": ["--env-file", ".devcontainer/devcontainer.env"] | |
| } |
| #------------------------------------------------------------------------------------------------------------- | |
| # Copyright (c) Microsoft Corporation. All rights reserved. | |
| # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. | |
| #------------------------------------------------------------------------------------------------------------- | |
| # Update the VARIANT arg in devcontainer.json to pick a Python version: 3, 3.8, 3.7, 3.6 | |
| # To fully customize the contents of this image, use the following Dockerfile instead: | |
| # https://github.com/microsoft/vscode-dev-containers/tree/v0.112.0/containers/python-3/.devcontainer/base.Dockerfile | |
| ARG VARIANT="3" | |
| FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT} | |
| # [Optional] If your requirements rarely change, uncomment this section to add them to the image. | |
| # | |
| # COPY requirements.txt /tmp/pip-tmp/ | |
| # RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ | |
| # && rm -rf /tmp/pip-tmp | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| RUN apt-get update \ | |
| && apt-get -yq install --no-install-recommends \ | |
| wget \ | |
| unzip \ | |
| curl \ | |
| procps \ | |
| git-extras \ | |
| direnv \ | |
| vim \ | |
| # # Configure direnv and zsh | |
| # && echo 'eval "$(direnv zsh)"' >> $HOME/.zshrc \ | |
| # | |
| # Clean up | |
| && apt-get autoremove -y \ | |
| && apt-get clean -y \ | |
| && rm -rf /var/lib/apt/lists/* | |
| ENV DEBIAN_FRONTEND=dialog | |
| { | |
| // 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: Flask", | |
| "type": "python", | |
| "request": "launch", | |
| "module": "flask", | |
| "env": { | |
| "FLASK_ENV": "development", | |
| "FLASK_APP": "app.py" | |
| }, | |
| // "args": [ | |
| // "run", | |
| // "--no-debugger", | |
| // "--no-reload" | |
| // ], | |
| "args": [ | |
| "run", | |
| ], | |
| "jinja": true, | |
| }, | |
| ] | |
| } |