Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ad7b06e930 | |||
| 3adb65fa36 |
@@ -1,5 +1,73 @@
|
||||
# Jupyter-my-own-image
|
||||
# Jupyter Notebook Docker Setup
|
||||
|
||||
This is my custom image of python jupyter.
|
||||
This repository contains Docker configuration for running Jupyter Notebook with various data science libraries pre-installed.
|
||||
|
||||
This repo was created to run jupyter in docker on raspberry pi (arm)
|
||||
## Features
|
||||
|
||||
- Based on Ubuntu Focal (20.04)
|
||||
- Includes Jupyter Notebook with:
|
||||
- Pandas
|
||||
- OpenCV
|
||||
- Scikit-learn
|
||||
- Scikit-image
|
||||
- PyTorch
|
||||
- Imutils
|
||||
- Notebook export capabilities (nbconvert)
|
||||
- Volume mounted for persistent notebook storage
|
||||
- Two deployment profiles (build locally or pull from registry)
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
.
|
||||
├── Dockerfile # Docker image definition
|
||||
├── docker-compose.yml # Services configuration
|
||||
├── requirements.txt # Python package dependencies
|
||||
└── notebooks/ # Directory for your Jupyter notebooks (will be created)
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Create notebooks directory
|
||||
|
||||
```bash
|
||||
mkdir -p notebooks
|
||||
```
|
||||
|
||||
### Profile 1: Build locally
|
||||
|
||||
To build the Docker image locally and run the container:
|
||||
|
||||
```bash
|
||||
docker-compose --profile build up
|
||||
```
|
||||
|
||||
### Profile 2: Pull from your registry
|
||||
|
||||
To pull the image from your private registry and run it:
|
||||
|
||||
```bash
|
||||
REGISTRY_URL=your-registry-url docker-compose --profile registry up
|
||||
```
|
||||
|
||||
Replace `your-registry-url` with your actual Docker registry URL.
|
||||
|
||||
## Accessing Jupyter Notebook
|
||||
|
||||
Once the container is running, access Jupyter Notebook by opening a browser and navigating to:
|
||||
|
||||
```
|
||||
http://localhost:8888
|
||||
```
|
||||
|
||||
No password is required (for simplicity - you may want to add authentication for production use).
|
||||
|
||||
## Customization
|
||||
|
||||
- To add more Python packages, modify the `pip3 install` command in the Dockerfile
|
||||
- To change the Jupyter configuration, modify the command in docker-compose.yml
|
||||
|
||||
## Notes
|
||||
|
||||
- The notebooks directory is mounted as a volume to persist your work
|
||||
- For security in production environments, consider adding authentication to your Jupyter instance
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
services:
|
||||
jupyter:
|
||||
profiles: ["build", "registry"]
|
||||
image: https://git.seccodesmith.pl/seccodesmith/Jupyter-my-own-image.git
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "8888:8888"
|
||||
volumes:
|
||||
- ./notebooks:/notebooks
|
||||
environment:
|
||||
- JUPYTER_ENABLE_LAB=yes
|
||||
restart: unless-stopped
|
||||
command: >
|
||||
jupyter notebook
|
||||
--ip='0.0.0.0'
|
||||
--port=8888
|
||||
--no-browser
|
||||
--NotebookApp.token=''
|
||||
--NotebookApp.password=''
|
||||
--allow-root
|
||||
+10
-11
@@ -6,20 +6,19 @@ RUN apt-get update && apt-get install -y \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-dev \
|
||||
build-essential \
|
||||
pandoc \
|
||||
texlive-xetex \
|
||||
libsm6 \
|
||||
libxext6 \
|
||||
libxrender-dev \
|
||||
git \
|
||||
wget \
|
||||
curl \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
COPY requirements.txt /tmp/
|
||||
|
||||
COPY requirements.txt .
|
||||
RUN pip3 install --no-cache-dir --upgrade pip \
|
||||
&& pip3 install --no-cache-dir -r requirements.txt
|
||||
RUN pip3 install --no-cache-dir --upgrade pip && \
|
||||
pip3 install --no-cache-dir -r /tmp/requirements.txt
|
||||
|
||||
WORKDIR /notebooks
|
||||
|
||||
EXPOSE 8888
|
||||
|
||||
CMD ["jupyter", "lab", "--ip=0.0.0.0", "--port=8888", "--allow-root", "--no-browser", "--NotebookApp.token=''"]
|
||||
CMD ["jupyter", "notebook", "--ip='0.0.0.0'", "--port=8888", "--no-browser", "--allow-root"]
|
||||
+4
-2
@@ -1,10 +1,12 @@
|
||||
jupyterlab
|
||||
jupyter
|
||||
notebook
|
||||
nbconvert
|
||||
numpy
|
||||
pandas
|
||||
matplotlib
|
||||
opencv-python
|
||||
scikit-learn
|
||||
scikit-image
|
||||
torch
|
||||
torchvision
|
||||
torchaudio
|
||||
imutils
|
||||
Reference in New Issue
Block a user