Macht gerade
Für postgresql verwenden wir das offizielle Docker-Image. Die Anaconda-Umgebung erstellt eine Docker-Datei basierend auf Ihrem eigenen Image.
FROM kyobad/anaconda3-alpine
MAINTAINER K.Kato
RUN conda install -y seaborn psycopg2 networkx\
&& pip install chainer
WORKDIR /root/notebook
CMD ["/bin/sh", "-c", "jupyter notebook --no-browser --port=8888 --ip=0.0.0.0"]
Dies ist ein Bild der Installation einer Analyseumgebung wie seaborn und psycopg2 basierend auf der Anaconda-Umgebung.
Erstellen Sie eine Docker-Compose-Konfigurationsdatei, um diese Python-Umgebung mit postgresql zu verbinden.
docker-compose.yml
version: '2'
services:
db:
image:
postgres
restart:
always
environment:
POSTGRES_USER:
pythonist
POSTGRES_PASSWORD:
password
POSTGRES_DB:
mypyenv
ports:
- "5432"
container_name:
postgres-db
volumes:
- ./postgres-db:/var/lib/postgresql/data
- ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
python:
build: .
volumes:
- ./workdir:/root/notebook/
ports:
- "8888:8888"
links:
- db
depends_on:
- db
Der Benutzername, das Passwort usw. werden in der Umgebung von db festgelegt. Bitte ändern Sie diese entsprechend. Die postgres-db / set in volume stellt die postgres-Daten lokal bereit und sichert sie (ist es wirklich wünschenswert, nur einen Datencontainer zu erstellen?) docker-entrypoint-initdb.d ist die Standardeinstellung beim Starten des Containers. Wenn Sie hier SQL-Dateien wie die Tabellenerstellung einfügen, werden diese beim Start des Containers ausgeführt. Das Python-Volume ist ein Mount zum lokalen Speichern des gestarteten Notebooks.
In dem Verzeichnis, in dem Sie diese ablegen
docker-compose up
Durch Ausführen des Befehls werden der Postgres-Container und der Jupyter-Notebook-Container gestartet.
Über Ihren Browser können Sie auf localhost: 8888 zugreifen und mit dem in der Erstellungsdatei angegebenen Datenbanknamen und dem Kennwort auf die Datenbank zugreifen.
Recommended Posts