0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker で Jupyter Notebook を使う(PostgreSQL と pgAdmin コンテナ同時起動)

Posted at

Jupyter Notebook から DB へアクセスできるように、三つのコンテナ(Jupyter Notebook / PostgreSQL / pgAdmin)を同時に起動できる環境を構築します。

準備

プロジェクト用ディレクトリと各種ファイルを作成します。

$ mkdir my-anaconda && cd my-anaconda
$ touch Dockerfile docker-compose.yml
Dockerfile
FROM continuumio/anaconda3:latest

RUN useradd -d /home/[ユーザー名] -m -s /bin/bash [ユーザー名]

WORKDIR /home/[ユーザー名]/my-anaconda

RUN /opt/conda/bin/conda install jupyter -y --quiet
RUN pip install psycopg2-binary
docker-compose.yml
version: '3'

services:
  db:
    image: postgres:10.4
    container_name: postgres-my-anaconda
    volumes:
      - db-data:/var/lib/postgresql/data
    ports:
      - "5432:5432"

  pgadmin:
    image: dpage/pgadmin4
    container_name: pgadmin-my-anaconda
    volumes:
      - ./pgadmin:/var/lib/pgadmin
    ports:
      - "8000:80"
    depends_on:
      - db
    environment:
      PGADMIN_DEFAULT_EMAIL: postgres
      PGADMIN_DEFAULT_PASSWORD: postgres

  anaconda:
    build: .
    container_name: my-anaconda
    volumes:
      - .:/home/[ユーザー名]/my-anaconda
    ports:
      - "8080:8888"
    depends_on:
      - db
    tty: true
    command: >
      jupyter notebook
      --notebook-dir=/home/[ユーザー名]/my-anaconda
      --ip='0.0.0.0'
      --no-browser
      --allow-root
      --NotebookApp.token='jupyter'

volumes:
  db-data:

サービスのビルドとコンテナの作成

サービスをビルドします。

$ docker-compose build

コンテナを作成します。

$ docker-compose up -d

ブラウザからアクセスする

Jupyter Notebook

http://localhost:8080 にアクセスします。「Password or token」に「jupyter」と入力すれば Jupyter Notebook が表示されます。

pgAdmin

http://localhost:8000 にアクセスします。ログイン情報は、Email Address / Password ともに「postgres」です。

サービスの開始と停止

サービスを停止するには以下を実行します。

docker-compose stop

再度サービスを開始して Jupyter Notebook を使う場合は以下を実行します。

docker-compose start
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?