--Construction d'un environnement d'analyse de données à l'aide de Docker --Vérifier la connexion entre python et postgresql avec docker-compose
Fait
Pour postgresql, nous utilisons l'image officielle de Docker. L'environnement anaconda crée un Dockerfile basé sur votre propre 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"]
Il s'agit d'une image d'installation d'un environnement d'analyse tel que seaborn et psycopg2 basé sur l'environnement anaconda.
Créez un fichier de configuration docker-compose pour connecter cet environnement python à postgresql.
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
Le nom d'utilisateur, le mot de passe, etc. sont définis dans l'environnement de db. Veuillez les modifier le cas échéant. Le postgres-db / set en volume monte les données postgres localement et les sauvegarde (est-il vraiment souhaitable de créer un conteneur dataonly?) docker-entrypoint-initdb.d est le paramètre par défaut au démarrage du conteneur. Si vous placez des fichiers SQL tels que la création de table ici, ils seront effectués au démarrage du conteneur. Le volume de python est un montage pour enregistrer localement le notebook démarré.
Dans le répertoire où vous mettez ces
docker-compose up
En exécutant la commande, le conteneur postgres et le conteneur de notebook jupyter seront lancés.
Depuis votre navigateur, vous pouvez accéder à localhost: 8888 et accéder à la base de données avec le nom et le mot de passe de la base de données écrits dans le fichier de composition.
Recommended Posts