開発者環境設定のためのDocker
3225 ワード
datasenceのためのdev環境の設定
Pythonプロジェクトで働くとき、人々が彼らの依存関係を管理する一般的な方法は
pip freeze > requirements.txt
またはpip install -r requirements.txt
を実行していて、プロジェクトレベル依存を管理するためにvirtualenv
と結合しています(プロジェクト環境を維持するのに必要です).しばしば、他の誰かにプロジェクトを再生するとき、我々は与えなければなりません.ファイルのEXE版とそれはテスト、分析によくありません、それは倉庫で
pip install -r requirements.txt
を走らせるのに十分でありません.ただし、キャプチャされない特定のシステムレベル依存性の構成もあります.コードの開発と共に、パッケージによって必要に応じてシステムレベルの依存関係をインストールします.
すべてのシステムレベル依存性を複製することができるようにするには、どのようにDockerを簡単に使用することができますし、Dockerハブを介して共有することができますコンテナとして送信され、開発者の環境を実行することができます.
今、我々は次の段階に移動します.そして、それはどのように層命令を理解していて、あなたの結果を複製するためにあなたの正確な仕様でDockerコンテナをセットアップするためにDockerFileをまとめます.
我々は以下の問題を観測した.
may be a older version for the new framework installed
管理するために苦労し、壊れたvirtualenvs
または他のそれを忘れてもここで大きなチャンスです.
#this is just a example
FROM python:3
RUN apt-get update && apt-get install -y python3-pip
COPY requirements.txt .
RUN pip install -r requirements.txt
# Install jupyter
RUN pip3 install jupyter
# Create a new system user
RUN useradd -ms /bin/bash demo
# Change to this new user
USER demo
# Set the container working directory to the user home folder
WORKDIR /home/demo
# Start the jupyter notebook
ENTRYPOINT ["jupyter", "notebook", "--ip=0.0.0.0"]
virtualenvs
は、それらをインストールするためのパッケージのリストを持っている必要があります.したがって、PIPコマンドを通してインストールされるのに必要なモジュールのリストをrequirements.txt
tensorflow==2.4.1
seaborn
scikit-learn 0.24.2
spacy==3.0.6
tfx==0.29.0
agate==1.6.1
asn1crypto==0.24.0
autopep8==1.3.5
Babel==2.9.1
backcall==0.2.0
bleach==3.3.0
census==0.8.17
これは定期的に私の移動リストです.アフターオール
端末の実行時:
.txt
環境を実行するためのメモdocker build -t dev_ds_env .
は必須です.これは、インストールされている
full stop
ファイル内のすべてのツールにアクセスできるJupyNoterノートブックを設定する必要があります.requirements.txt
コマンドはここで魔法として動作します.COPy
今すぐあなたのマシンからアクセスし、docker run -p 8888:8888 dev_ds_env
を試してください.それはあなたが与えられたトークンをコピーして貼り付けるように頼むでしょう.どうもありがとう
Reference
この問題について(開発者環境設定のためのDocker), 我々は、より多くの情報をここで見つけました https://dev.to/vishwasnarayan5/docker-for-setting-the-developer-environnement-692テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol