質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

2596閲覧

dockerコンテナ内のconda仮想環境を指定してpyファイルを実行したい

SoPen

総合スコア4

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/09/09 08:56

前提・実現したいこと

dockerfileを用いてespnetの環境構築をしている。
dockerfile内でcreateした環境下でapp.pyを走らせたい。

現状環境外で走ってしまっている様子。
docker-compose up後にbashで入り、conda info -eをした結果は下記

conda info -e # conda environments: # /root/anaconda3 base * /root/anaconda3/envs/espnet

作成した環境が作成されている様子。

この状態でpip listをすると必要なライブラリは入っている。
そのまま手動にてpython3 app.pyを実行すると、エラーは発生しない。

いちいちbashで入って、app.pyを立ち上げるようなことはしたくない(ec2上で公開し、毎日ec2を停止・再起動する予定のため)。

発生している問題・エラーメッセージ

ModuleNotFoundError: No module named 'torch'

該当のソースコード(関係部分抜粋)

FROM nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04 USER root RUN apt-get update RUN wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh RUN bash Anaconda3-2021.05-Linux-x86_64.sh -b RUN rm Anaconda3-2021.05-Linux-x86_64.sh ENV PATH $PATH:/root/anaconda3/bin RUN git clone http://github.com/espnet/espnet.git RUN conda update -n base -c defaults conda # このコマンドでespnetという環境が作成されている RUN cd espnet/tools/ && ./setup_anaconda.sh /root/anaconda3/bin/.. espnet 3.8 && make -j 8 SHELL ["conda", "run", "-n", "espnet", "/bin/bash", "-c"] RUN pip3 install torch flask pyopenjtalk espnet==0.10.0 RUN conda init bash WORKDIR /app COPY ./app /app CMD ["python3", "app.py"]

試したこと

Before

1RUN conda init bash 2 3WORKDIR /app 4COPY ./app /app 5 6CMD ["python3", "app.py"]

After

1 2WORKDIR /app 3COPY ./app /app 4 5RUN conda init bash && echo "conda activate espnet" >> ~/.bashrc && python3 app.py

こちらは、app.pyの実行がずっとなされないのか、これ以降のrunningのまま先に進まなくなった。

補足情報(FW/ツールのバージョンなど)

  • docker-compose version 1.29.2
  • Docker version 20.10.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

CMD ["python3", "app.py"]CMD python3 app.pyにしたら解決しました。

投稿2021/09/09 09:14

SoPen

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問