見出し画像

【C級botter道】2話:Docker-composeでコンテナ管理

前回までDockerを用いてpythonコンテナを作成しました。
今回はDocker-composeでコンテナ管理をし、ついでにjupyter labもインストールしようと思います。

Docker-composeとは?

簡単にいうとDockerコンテナの実行方法を管理するものです。

プログラムの環境構築情報 → Docker(Dockerfile)
Dockerの実行方法 → Docker-compose(docker-compose.yml)
こんなイメージです。


Docker-composeを書いていくぅ

Dockerfileを修正

まずは前回作成したDockerfileを微修正します。
修正内容としては以下のみ
・jupyter labをインストール命令を追加。(14~16行目)

FROM python:3.10.13
RUN apt-get update && \       
    apt-get install -y \      
    build-essential \
    cmake \
    git \
    sudo \
    wget \
    vim
RUN pip install --upgrade pip                
COPY ./requirements.txt /requirements.txt    
RUN pip install -r /requirements.txt

# jupyter labインストール 
RUN python -m pip install jupyterlab        
WORKDIR /work

はい、これでコンテナにpython環境jupyter lab環境を作成することができました。

Docker-composeを新規作成

次はDocker-composeファイルを作成していきます。
作成したdocker-compose.yml

# docker-compose up
version: '3'
services:
  mamuru_bot:
    build: .
    image: mamuru_bot-img
    container_name: mamuru_bot-container
    working_dir: /work
    volumes:
      - ./:/work
    ports:
      - "8888:8888"
    command:
      jupyter-lab --ip 0.0.0.0 --allow-root -b localhost

実行

準備が完了しましたので、実行していきます。
※Dockerfileとdocker-compose.ymlは同ディレクトリに格納。

docker-compose up

色々と環境が構築されていき、jupyter labサーバーも立ち上がります。

docker-compose upの結果

Docker Desktopで確認すると、イメージとコンテナ両方が作成されていることが確認できます。

Dockerイメージ
Dcoker コンテナ

次に"docker-compose up"を実行したterminalに表示されているURLに接続します。

terminal画面
jupyter lab画面

jupyter labにアクセスできることも確認しました。
一応notebookを立ち上げて動作確認してみます。


まとめ

  • Dockerfileを修正し、jupyter labをインストールできるようにした。

  • docker-compose.ymlを作成し、コンテナ管理をできるようにした。
    (コンテナ1つだとあまり意味ないかも?)

  • jupyter labに接続、notebookの動作確認を行った。

  • 次回はgithubと連携し、コード管理できるようにしたいと思います。

この記事が気に入ったらサポートをしてみませんか?