1. 目的
Dockerを使用することが増えたので、簡単な使い方を備忘録として残す。
Dockerの使用方法について
2. Dockerの基本的なコマンド
この節では、Dockerの簡単なコマンドの使用例について説明する。
プロセス中のコンテナを確認する。
$ docker ps -a
もし使用していないコンテナがあれば削除する。
$ docker rm コンテナのID
ローカルのフォルダをマウントし、コンテナからフォルダ直下を扱えるようにする。
$ docker run -v ローカルフォルダのパス:コンテナのフォルダのパス -it ubuntu
コンテナがプロセス中になったか確認する。
$ docker ps
コンテナから離れる。
ショートカット「CTRL+P+Q」
コンテナに戻る。
$ docker attach コンテナID
コンテナを止める。
$ exit
止めたコンテナを再開する。
$ docker restart コンテナID
$ docker attach コンテナID
イメージの確認
$ docker images
もし使用していないイメージがあれば削除する。
$ docker rmi イメージのID
コンテナをイメージに保存
$ docker commit -m "環境の説明とかを書きます" コンテナID イメージ名
2.1 jupyter/datascience-notebookの動作方法
$ docker run -it -v /mnt/c/Users/yoshi/Desktop/yhdk:/home/jovyan/work --name datascience jupyter/datascience-notebook /bin/bash
2.2 tensorflow/tensorflowの動作方法
Pytorch環境のコンテナを利用する場合
$ docker run -it --gpus all -v ~/unko:/workspace --name unko_torch pytorch-lab
Tensorflow環境のコンテナを利用する場合
$ docker run -it --gpus all -v ~/unko:/home tensorflow/tensorflow:latest-gpu
Nvidiaの確認
$ nvcc --version | grep "release" | awk '{print $6}' | cut -c2-
$ nvidia-smi
GPU が利用できるかどうかを確認します。
$ lspci | grep -i nvidia
nvidia-docker がインストールされたことを確認します。
$ docker run --gpus all --rm nvidia/cuda nvidia-smi
tesnsorflowがGPUを認識しているかの確認
$ python
$ from tensorflow.python.client import device_lib
$ device_lib.list_local_devices()
2.3 WSL2でのVisual Studio Codeでの開発
Visual Studio Codeでリモートで作業する。これを行うには、ターミナルを開いて下記のように入力する。画面の下隅にチェックできるデフォルトのLinuxディストリビューションにリモートで接続された新しく開いたVisual Studio Code上で開発する。
$ wsl
$ code .
2.4 Jupyter notebook
基本的な操作
$ docker run -p 8888:8888 jupyter/datascience-notebook
ファイルをマウントするときの操作
$ docker run -v /mnt/c/Users/yoshi/OneDrive/デスクトップ/yhdk:/home/jovyan/work -p 8888:8888 jupyter/datascience-notebook