html> docker on windows (gpu) 2022/09/13 Updated by

Docker on Windows (GPU)

Anaconda


[Up] Japanese English

Docker上のUbuntuにAnaconda3をインストールする。

  1. Windows上のdockerで nVidia が配布している GPU を使う Ubuntu Image を使う設定 がなされているものとする。
  2. Windows 上の WSL2 を使う Ubuntu-20.04 を起動する。
  3. docker コマンドで、NVIDIA の Ubuntu イメージからコンテナを作成する。
  4. $ docker run --name cuda_anaconda --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --gpus all -p 8080:8888 -it nvcr.io/nvidia/tensorflow:21.08-tf2-py3
                                                                                                                            
    ================
    == TensorFlow ==
    ================
    
    NVIDIA Release 21.08-tf2 (build 26011968)
    TensorFlow Version 2.5.0
    
    Container image Copyright (c) 2021, NVIDIA CORPORATION.  All rights reserved.
    Copyright 2017-2021 The TensorFlow Authors.  All rights reserved.
    
    NVIDIA Deep Learning Profiler (dlprof) Copyright (c) 2021, NVIDIA CORPORATION.  All rights reserved.
    
    Various files include modifications (c) NVIDIA CORPORATION.  All rights reserved.
    
    This container image and its contents are governed by the NVIDIA Deep Learning Container License.
    By pulling and using the container, you accept the terms and conditions of this license:
    https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license
    
    WARNING: The NVIDIA Driver was not detected.  GPU functionality will not be available.
       Use 'nvidia-docker run' to start this container; see
       https://github.com/NVIDIA/nvidia-docker/wiki/nvidia-docker .
    
    NOTE: MOFED driver for multi-node communication was not detected.
          Multi-node communication performance may be reduced.
    

    [注意] nvidia-docker は既にサポートされていないので、特に対応をしないことにする。

  5. 以後、このシェル (bash) をexitするまでは、作成したコンテナ内での作業となる。
  6. linux用のAnacondaインストーラをubuntu コンテナ内に持ってくる。
  7. Anaconda3-2022.05-Linux-x86_64.sh
    
  8. インストーラを起動する。
  9. root@7653699c443d:/workspace# ./Anaconda*sh
    
    Welcome to Anaconda3 2022.05
    
    (略)
    
    done
    installation finished.
    Do you wish the installer to initialize Anaconda3
    by running conda init? [yes|no]
    [no] >>> yes
    no change     /root/anaconda3/condabin/conda
    no change     /root/anaconda3/bin/conda
    no change     /root/anaconda3/bin/conda-env
    no change     /root/anaconda3/bin/activate
    no change     /root/anaconda3/bin/deactivate
    no change     /root/anaconda3/etc/profile.d/conda.sh
    no change     /root/anaconda3/etc/fish/conf.d/conda.fish
    no change     /root/anaconda3/shell/condabin/Conda.psm1
    no change     /root/anaconda3/shell/condabin/conda-hook.ps1
    no change     /root/anaconda3/lib/python3.9/site-packages/xontrib/conda.xsh
    no change     /root/anaconda3/etc/profile.d/conda.csh
    modified      /root/.bashrc
    
    ==> For changes to take effect, close and re-open your current shell. <==
    
    If you'd prefer that conda's base environment not be activated on startup,
       set the auto_activate_base parameter to false:
    
    conda config --set auto_activate_base false
    
    Thank you for installing Anaconda3!
    
    ===========================================================================
    
    Working with Python and Jupyter is a breeze in DataSpell. It is an IDE
    designed for exploratory data analysis and ML. Get better data insights
    with DataSpell.
    
    DataSpell for Anaconda is available at: https://www.anaconda.com/dataspell
    
  10. /root/.bashrc を作成する。
  11. 
    
  12. コンテナの中では /workspace にファイルが置かれている。しかし、上記ではデフォルトの /root/anaconda3/ にインストールした。パスが設定されているので /root/.bashrc をロードし直しておく。
  13.   $ . /root/.bashrc
    
  14. conda で jupyter を動作させる環境を作る。
  15.   $ conda create -n tf2_gpu python=3.8 jupyter
    
  16. 作成した python 仮想環境 tf2_gpu に切り替える。
  17.   $ conda activate tf2_gpu
    
  18. 必要なパッケージをインストールする。
  19.   (tf2_gpu)$ pip install tensorflow==2.8.3
      (tf2_gpu)$ pip list | grep numpy     ← 既にインストールされている
      (tf2_gpu)$ pip install matplotlib
      (tf2_gpu)$ pip install scikit-learn
      (tf2_gpu)$ pip install pandas
      (tf2_gpu)$ pip install janome