2020-10-26 10:47:09 +00:00
|
|
|
# Docker images
|
|
|
|
|
2022-08-10 10:37:50 +00:00
|
|
|
## Build images from Dockerfiles
|
2020-04-25 18:17:09 +00:00
|
|
|
|
|
|
|
You can build it on your own, note it takes lots of time, be prepared.
|
2020-06-27 12:49:19 +00:00
|
|
|
|
2020-04-25 18:17:09 +00:00
|
|
|
```bash
|
2022-08-10 10:37:50 +00:00
|
|
|
git clone https://github.com/Lightning-AI/lightning.git
|
2021-08-03 18:19:09 +00:00
|
|
|
|
2022-08-10 10:37:50 +00:00
|
|
|
# build with the default arguments
|
|
|
|
docker image build -t pytorch-lightning:latest -f dockers/base-cuda/Dockerfile .
|
2021-08-03 18:19:09 +00:00
|
|
|
|
2022-08-10 10:37:50 +00:00
|
|
|
# build with specific arguments
|
2022-08-23 16:10:52 +00:00
|
|
|
docker image build -t pytorch-lightning:base-cuda-py3.9-torch1.12-cuda11.6.1 -f dockers/base-cuda/Dockerfile --build-arg PYTHON_VERSION=3.9 --build-arg PYTORCH_VERSION=1.12 --build-arg CUDA_VERSION=11.6.1 .
|
2021-02-09 08:22:35 +00:00
|
|
|
```
|
2020-06-27 12:49:19 +00:00
|
|
|
|
|
|
|
To run your docker use
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker image list
|
|
|
|
docker run --rm -it pytorch-lightning:latest bash
|
|
|
|
```
|
|
|
|
|
|
|
|
and if you do not need it anymore, just clean it:
|
|
|
|
|
2020-04-25 18:17:09 +00:00
|
|
|
```bash
|
|
|
|
docker image list
|
2020-06-27 12:49:19 +00:00
|
|
|
docker image rm pytorch-lightning:latest
|
2020-10-26 10:47:09 +00:00
|
|
|
```
|
|
|
|
|
2021-04-27 19:29:49 +00:00
|
|
|
## Run docker image with GPUs
|
2020-10-26 10:47:09 +00:00
|
|
|
|
2022-08-10 10:37:50 +00:00
|
|
|
To run docker image with access to your GPUs, you need to install
|
2021-08-03 18:19:09 +00:00
|
|
|
|
2020-10-26 10:47:09 +00:00
|
|
|
```bash
|
|
|
|
# Add the package repositories
|
|
|
|
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
|
|
|
|
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
|
|
|
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
|
|
|
|
|
|
|
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
|
|
|
|
sudo systemctl restart docker
|
|
|
|
```
|
|
|
|
|
2022-08-10 10:37:50 +00:00
|
|
|
and later run the docker image with `--gpus all`. For example,
|
2020-10-26 10:47:09 +00:00
|
|
|
|
|
|
|
```
|
2022-08-23 16:10:52 +00:00
|
|
|
docker run --rm -it --gpus all pytorchlightning/pytorch_lightning:base-cuda-py3.9-torch1.12-cuda11.6.1
|
2020-10-26 10:47:09 +00:00
|
|
|
```
|
2021-04-27 19:29:49 +00:00
|
|
|
|
|
|
|
## Run Jupyter server
|
|
|
|
|
|
|
|
Inspiration comes from https://u.group/thinking/how-to-put-jupyter-notebooks-in-a-dockerfile
|
|
|
|
|
|
|
|
1. Build the docker image:
|
2021-08-03 18:19:09 +00:00
|
|
|
```bash
|
2022-08-10 10:37:50 +00:00
|
|
|
docker image build -t pytorch-lightning:v1.6.5 -f dockers/nvidia/Dockerfile --build-arg LIGHTNING_VERSION=1.6.5 .
|
2021-08-03 18:19:09 +00:00
|
|
|
```
|
|
|
|
1. start the server and map ports:
|
|
|
|
```bash
|
2022-08-10 10:37:50 +00:00
|
|
|
docker run --rm -it --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all -p 8888:8888 pytorch-lightning:v1.6.5
|
2021-08-03 18:19:09 +00:00
|
|
|
```
|
|
|
|
1. Connect in local browser:
|
|
|
|
- copy the generated path e.g. `http://hostname:8888/?token=0719fa7e1729778b0cec363541a608d5003e26d4910983c6`
|
|
|
|
- replace the `hostname` by `localhost`
|