開発者環境設定のためのDocker



datasenceのためのdev環境の設定
Pythonプロジェクトで働くとき、人々が彼らの依存関係を管理する一般的な方法はpip freeze > requirements.txtまたはpip install -r requirements.txtを実行していて、プロジェクトレベル依存を管理するためにvirtualenvと結合しています(プロジェクト環境を維持するのに必要です).
しばしば、他の誰かにプロジェクトを再生するとき、我々は与えなければなりません.ファイルのEXE版とそれはテスト、分析によくありません、それは倉庫でpip install -r requirements.txtを走らせるのに十分でありません.
ただし、キャプチャされない特定のシステムレベル依存性の構成もあります.コードの開発と共に、パッケージによって必要に応じてシステムレベルの依存関係をインストールします.
すべてのシステムレベル依存性を複製することができるようにするには、どのようにDockerを簡単に使用することができますし、Dockerハブを介して共有することができますコンテナとして送信され、開発者の環境を実行することができます.
今、我々は次の段階に移動します.そして、それはどのように層命令を理解していて、あなたの結果を複製するためにあなたの正確な仕様でDockerコンテナをセットアップするためにDockerFileをまとめます.
我々は以下の問題を観測した.
  • 人は、いくつかのパッケージの変更でPythonの異なる風味でツールを構築します(各パッケージは、異なるバージョンを与えることができる依存パッケージを持っています)
  • 別のパッケージのmay be a older version for the new framework installed管理するために苦労し、壊れたvirtualenvsまたは他のそれを忘れてもここで大きなチャンスです.
  • ここで使用するユースケースでは、Pythonマシンをプロジェクトに必要なツールをすべて設定し、これらのリソースにアクセスするためにJupyterノートブックサーバーを設定します.
    
    #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を試してください.それはあなたが与えられたトークンをコピーして貼り付けるように頼むでしょう.
    どうもありがとう