2018年7月18日水曜日

PortainerでJupyter LabとMongoDBのスタックを作成する

Jupyter Notebookでインタラクティブなコンピューティング環境を提供する事ができます。Portainerで簡単にwebブラウザからJupyter LabとMongoDBのスタックを作成する事ができます。

○Jupyter Labの画面


〇構築方法
1.Portainer画面横のImagesをクリックして、Image list画面からBuild a new imageボタンをクリック


2.Build image画面nameフィールドにmyjupyter-mongodbを入力

3.Web editorのテキストエリアに以下を貼り付け
FROM jupyter/scipy-notebook
ENV TZ=Asia/Tokyo
USER root
RUN pip install pymongo
USER $NB_UID


貼り付け後、build the image ボタンをクリックします。

4.画面横のStacksをクリック後、Stacks list画面でAdd a stackボタンをクリックします


5.Create stack画面で、Nameフィールドにjupyterlab-mongodb-stackを入力し、Web editorに以下を張り付ける
version: "3"
services:
  myjupyter:
    image: myjupyter-mongodb
    container_name: "myjupyter-mongodb"
    volumes:
      - "myjupyter-data:/home/jovyan/work"
    ports:
      - "8888:8888"
    environment:
      JUPYTER_TOKEN: jupyter
      JUPYTER_ENABLE_LAB: 1
    depends_on:
      - db
  db:
    image: mongo:3.7-jessie
    container_name: "mongodb"
    volumes:
      - "mongodb-data:/data/db"
      - "mongodb-configdb:/data/configdb"
    ports:
      - 27017:27017
volumes:
  mongodb-data:
    driver: local
  mongodb-configdb:
    driver: local
  myjupyter-data:
    driver: local



貼り付け後、deploy stackボタンをクリックします。

6.ブラウザから以下のURLにアクセス
http://<Dockerホスト名またはIP>:8888/?token=jupyter

〇動作検証用コード
import pymongo

client = pymongo.MongoClient('mongodb://db:27017/')
db = client.testdb
result = db.test.insert_one({"message_id":"100", "message":"helo world!"})
print(result)
for data in db.test.find():
  print(data)

○関連情報
・Portainerに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿