Dieses Repo konfiguriert die Postgres-Datenbank in einem Dockercontainer
Damit zwischen Container eine Kommunikation stattfinden kann, muss ein IP4-Forwarding ermöglicht werden.
sudo sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT
Ein Netzwerk, in welchem der Webserver sich auch befinden muss
docker network create --driver bridge apps
Danach in den /docker Ordner wechseln und das Image bauen und taggen.
docker build -f Dockerfile -t postgres .
Mit dem run-Befehl kann der Service in das richtige Netzwerk übertragen werden.
docker run -dit --name postgres --network apps -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:latest
in Jupyterlab kann die Einbindung mit:
from sqlalchemy import create_engine
engine = create_engine('postgresql://postgres:postgres@localhost:5432/fake')
engine.execute("INSERT INTO toastbrot VALUES('2020-12-12','asdfada',True) ;")
engine.execute('SELECT text FROM toastbrot;')
oder durch
import psycopg2
connection = psycopg2.connect(user = "postgres", password = "postgres", host = "127.0.0.1",
port = "5432",
database = "fake")
cursor = connection.cursor()
cursor.execute("Select * from news ;")
geschehen.