- Use the following command to run the docker image locally:
```bash
docker run --rm\
-p 8888:8888 \
-v$PWD/tutorials:/home/jovyan/tutorials \
--name analytics-workshop \
analytics-workshop:latest
```
Note: Although the `--rm` option is useful, you have to use it very carefully. When you stop the notebook server, you can lose all of your modifications which hasn't been stored into the mounted folder.
- To attach a terminal to the running container, you can use the following command:
```bash
docker exec-it analytics-workshop start.sh
```
More info: https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html?highlight=root#alternative-commands
### Useful tricks for Linux
- For mounting a folder, you may need to use an absolute path or other tricks if the PWD environmental variable is not accessible in your shell:
- you may need to change the user id in the container - by adding `--user root` and `-e NB_UID=1001` options to your command - to have access for the mounted folders:
```bash
docker run --rm\
--user root \
-eNB_UID=1001 \
-p 8888:8888 \
-v$PWD/tutorials:/home/jovyan/tutorials \
--name workflows-workshop \
workflows-workshop:latest
```
- you can have a password-less sudo access in the container for debugging by adding `--user root` and `-e GRANT_SUDO=yes` options to your command:
```bash
docker run --rm\
--user root \
-eGRANT_SUDO=yes\
-p 8888:8888 \
-v$PWD/tutorials:/home/jovyan/tutorials \
--name workflows-workshop \
workflows-workshop:latest
```
More information about the command line options: https://jupyter-docker-stacks.readthedocs.io/en/latest/using/common.html#notebook-options
## Continuous integration (for future usage)
Each commit triggers a build process on GitLab Runner. Besides the latest tag, there will be a unique tag (same that as the value of the git commit) available for explicitly tracking the version of the notebook for cluster deployment.