From 9eb80d5cf343aa8e93b92dda65f6d9daea3b7257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Mej=C3=ADa?= Date: Mon, 4 Sep 2023 09:33:38 +0200 Subject: [PATCH] Add .devcontainer for Visual Studio Code and Github Codespaces --- .devcontainer/Dockerfile | 2 ++ .devcontainer/devcontainer.json | 24 ++++++++++++++++++++++++ README.md | 5 +++++ 3 files changed, 31 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..857e9119 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,2 @@ +# We create this Dockerfile to reuse existing published image as a container +FROM ageron/handson-ml3 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..ec1664d0 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,24 @@ +{ + "name": "handson-ml3", + "build": { + "context": "../docker", + "dockerfile": "Dockerfile" + }, + "forwardPorts": [ + 6006, + 8888 + ], + "customizations": { + "vscode": { + "extensions": [ + "ms-azuretools.vscode-docker", + "ms-python.python", + "ms-toolsai.jupyter" + ] + } + }, + "hostRequirements": { + "gpu": "optional" + }, + "postCreateCommand": "/opt/conda/envs/homl3/bin/jupyter notebook --ip='0.0.0.0' --port=8888 --no-browser" +} \ No newline at end of file diff --git a/README.md b/README.md index c3d4c469..0eb65024 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,11 @@ python. It contains the example code and solutions to the exercises in the third ⚠ _Colab provides a temporary environment: anything you do will be deleted after a while, so make sure you download any data you care about._ +You can also run these notebooks inside dev containers: + +* [![Open in Visual Studio Code](https://img.shields.io/static/v1?label=&message=Open%20in%20Visual%20Studio%20Code&color=blue&logo=visualstudiocode&style=flat)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/ageron/handson-ml3) +* [![Open in Github Codespaces](https://img.shields.io/static/v1?label=&message=Open%20in%20Github%20Codespaces&color=2f362d&logo=github)](https://codespaces.new/ageron/handson-ml3?quickstart=1&hide_repo_select=true) +
Other services may work as well, but I have not fully tested them: