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

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

新規登録して質問してみよう
ただいま回答率
87.20%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Docker

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

解決済

dockerでのopen cv のビルドが永遠に終わらない

alizona
alizona

総合スコア89

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Docker

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

1回答

0リアクション

0クリップ

237閲覧

投稿2022/07/28 06:58

編集2022/07/28 07:31

mac os
docker で opencv -python を使いたく docker-compose build しています。

この画像の状況が40分続いています。たまに一行更新されるのですが、pipのupdateやdocker imageの変更や、opencv-pythonのバージョンの変更とう試したのですが、何度祭ビルドしても、20分、30分と、かかってしまいます。
localで open-cvをダウンロードしたときは1分ほどだったと記憶しているのですが、何かアドバイスいただけないでしょうか?
試行錯誤して、5時間ほどかかってしまいました。

FROM python:3.8.0 # Adding backend directory to make absolute filepaths consistent across services WORKDIR /app/backend # Install Python dependencies COPY requirements.txt /app/backend RUN apt-get update && apt-get upgrade -y RUN pip install --upgrade pip RUN pip install --upgrade setuptools # OpenCV RUN apt-get install -y libgl1-mesa-glx libglib2.0-0 libsm6 libxrender1 libxext6 RUN pip install opencv-python RUN pip install opencv-contrib-python #docker imageを alpine から python:3.8に変更したので、 #このRUNのapk が使えないためコードを変更しなくてはいけない RUN \ apk add bash && \ apk add --no-cache postgresql-libs && \ apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev && \ apk add build-base libffi-dev && \ pip3 install --upgrade pip -r requirements.txt && \ apk --purge del .build-deps # Add the rest of the code COPY . /app/backend COPY ./scripts/ /app/ # Make port 8000 available for the app ENV PORT 8000 EXPOSE 8000 # Be sure to use 0.0.0.0 for the host within the Docker container, # otherwise the browser won't be able to find it RUN ["chmod", "+x", "/app/entrypoint-dev.sh"] ENTRYPOINT [ "/app/entrypoint-dev.sh" ] # clearn RUN rm -rf /var/lib/apt/lists/*

docker

# Use an official Python runtime as a parent image FROM python:3.7-alpine # Adding backend directory to make absolute filepaths consistent across services WORKDIR /app/backend # Install Python dependencies COPY requirements.txt /app/backend RUN \ apk update && \ apk upgrade && \ apk add bash && \ apk add --no-cache postgresql-libs && \ apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev && \ apk add build-base libffi-dev && \ pip3 install --upgrade pip -r requirements.txt && \ apk --purge del .build-deps # Add the rest of the code COPY . /app/backend COPY ./scripts/ /app/ # Make port 8000 available for the app ENV PORT 8000 EXPOSE 8000 # Be sure to use 0.0.0.0 for the host within the Docker container, # otherwise the browser won't be able to find it RUN ["chmod", "+x", "/app/entrypoint-dev.sh"] ENTRYPOINT [ "/app/entrypoint-dev.sh" ]

requirements.txt

opencv-python==4.6.0.66 Django==2.2.9 psycopg2==2.8.4 whitenoise==4.1.4 dj-database-url==0.5.0 beautifulsoup4==4.10.0 requests>=2.21.0 selenium==4.1.3

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

alizona

2022/07/28 07:29

ありがとうございます。 https://dendenblog.xyz/opencv-dockerfile/ こちらのサイトのdocker fileはビルドできました。 ただ、私のdocker fileではapk を使っていて、apt-getに変更する際に色々とわからないことがあって、そちらの処理をしつつ、何かアドバイスをいただけないか待ってみます。
hoshi-takanori

2022/07/28 07:39

質問者さんの Dockerfile の先頭には FROM python:3.7-alpine とありますが、これは Alpine Linux というディストリビューションをもとにしています。が、Alpine Linux では上の記事の通り libc (Linux の実行プログラムを動かすための基本的なライブラリ) が他とは違うため、メモリ管理の性能が良くなかったり、そもそも他のディストリビューションならビルド済みのバイナリが使えるのに Alpine Linux では使えなくてわざわざビルドする羽目になったりする、ということだと思われます。 ので、たぶんベースイメージを FROM python:3.8.0 (ちょっと古いけど…) とかにすれば、たぶん ubuntu か debian なので、apt-get を使えるのでは…。(docker も python も詳しくないので、そのくらいしか言えませんが。)
alizona

2022/07/28 07:44

参考にしたリンク通りでbuildできました。 今は、apt-getでのdocker fileの書き方を調べている最中です。 ありがとうございます。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Docker

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