0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dockerでpythonの開発環境を構築する

Posted at

やりたいこと

  1. dockerを使ってpythonが使えるコンテナを作りたい
  2. docker起動時にシェルを起動して動作確認したい
  3. コンテナの再起動をせずともソースコードの変更を反映したい

pythonが使用できるコンテナの作成

Dockerfile
FROM python:3.9-slim-buster
WORKDIR /src
COPY . .
RUN pip install -q -U google-generativeai
docker-compose.yml
version: "3.9"
services:
  python:
    build: .
    volumes:
      - .:/src

docker-composeのvolumeで作業ディレクトリをコンテナにバインドマウント?することでソースコードの変更が即時に反映された

コンテナ起動時にシェルを起動する

3つ方法がある(らしい)。

1 docker compose exec を使用する
すでに起動してあるコンテナに対して

docker compose exec {service} bash

今回つくるコンテナは常駐型のサービスがなく、作成とともにすぐに消滅する→不採用

2 docker compose run を使用する

docker compose run {service} bash

新しいコンテナの作成と同時にbashを起動する→採用

3 composeファイルに記述する
commandオプションで["bash"]を追加すると、コンテナ作成時にbashが実行される→毎回実行されると面倒そうなので不採用

動作確認

以下のソースコードをdocker関連ファイルと同ディレクトリに配置

main.py
import google.generativeai as genai

genai.configure(api_key="")
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Do you like dog?")

print(response.text)

続いて、docker compose run python bash
さらに cat main.pyで内容を確認
その後、テキストエディタでmain.pyを編集→上書き保存
そして cat main.py 内容が変更されていることが確認できたらOK

以上

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?