LoginSignup
0
1

More than 3 years have passed since last update.

Dockerのコマンド・設定・エラー対処

Last updated at Posted at 2020-02-11

コマンド

イメージ生成(build)

docker build -t [タグ名] [Dockerfileのパス]

コンテナの起動(run)

コンテナ名を指定して起動

docker run --name [任意のコンテナ名] -it [利用したいイメージ] /bin/bash

参考サイト:https://qiita.com/shimo_yama/items/d0c42394689132fcb4b6

各種オプション

フォルダをマウント

-v [ホストマシンの任意のディレクトリ]:[Dockerコンテナ内の任意のディレクトリ] -it [利用したいイメージ]

NVIDIA GPUを使用する(v19.03以降)

すべてのGPUを使用
--gpus all
指定したGPUを使用
--gpus '"device=0"'

参考サイト:https://github.com/NVIDIA/nvidia-docker/tree/master#quickstart

GUIの使用

docker run の前にxhost +local:userを追加し、下記を追加

--env DISPLAY=$DISPLAY \
--volume /tmp/.X11-unix:/tmp/.X11-unix \
--volume /etc/localtime:/etc/localtime:ro \
--volume $HOME/.Xauthority:/root/.Xauthority \

ホストのIPアドレスを使う

--net host

ホストの時刻を使う

--volume /etc/localtime:/etc/localtime:ro

参考サイト: https://qiita.com/HommaHomma/items/c6dbb554afb51f1b95d5

ホストのUSBデバイスを使う

--privileged

実行中のコンテナに入る

起動しているコンテナIDまたはコンテナ名を確認

docker ps

指定したコンテナに入る

docker exec -it [コンテナID or コンテナ名] /bin/bash

コンテナの停止

起動しているコンテナIDまたはコンテナ名を確認

docker ps

指定したコンテナを停止

docker stop [コンテナID]

イメージの削除

特定のイメージを削除

イメージのリスト表示

docker images

指定したイメージの削除

docker rmi [イメージID]

参考サイト:https://qiita.com/tifa2chan/items/e9aa408244687a63a0ae

タグ無しイメージを一括削除

docker rmi `docker images -f "dangling=true" -q`

参考サイト:https://qiita.com/boiyaa/items/9972601ffc240553e1f3

全てのイメージを削除

docker images -aq | xargs docker rmi

参考サイト:https://qiita.com/fist0/items/2fb1c7f894b5bdff79f4

コンテナの削除

特定のコンテナを削除

停止しているコンテナのリスト表示

sudo docker ps -a

指定したコンテナを削除

sudo docker rm [コンテナID]

参考サイト:https://qiita.com/tifa2chan/items/e9aa408244687a63a0ae

全てのコンテナを一括削除

docker rm $(docker ps -aq)

参考サイト:https://qiita.com/ozhaan/items/9e2090da22ffd6c7ad2a

ホストーコンテナ間でのファイルのコピー

コンテナからホスト

docker cp [コンテナID]:[コンテナ内の絶対パス] [ホストOS内の絶対パス]

ホストからコンテナ

docker cp [ホストOS内の絶対パス] [コンテナID]:[コンテナ内の絶対パス]

参考サイト:https://qiita.com/gologo13/items/7e4e404af80377b48fd5

イメージのエクスポート

イメージを保存

docker save [IMAGE NAME] > [IMAGE NAME].tar

保存したイメージを読み込む

docker load < [IMAGE NAME].tar 

参考サイト:https://uxmilk.jp/55512

コンテナのエクスポート

コンテナを保存

docker export [CONTAINER NAME] > [CONTAINER NAME].tar

保存したコンテナを読み込む

cat [CONTAINER NAME].tar | docker import - [REPOSITORY NAME]:[TAG NAME]

参考サイト:https://uxmilk.jp/55512

設定

sudo無しで使う

下記コマンドを打って再起動

sudo usermod -aG docker [ユーザー名]

参考サイト:https://www.virment.com/docker-sharing-folder-setup/#dockersudo

エラー対処

OCI runtime create failed:

CUDAのバージョンとNVIDIA ドライバーのバージョンがあってないとエラーを吐くみたい。
NVIDIAドライバーを更新すればOK

sudo apt-get install nvidia-[VERSION]

参考サイト:https://blog.sky-net.pw/article/103
参考サイト:https://qiita.com/min9813/items/90a1ef62b3dc37d0cc33

Error response from daemon: Unknown runtime specified nvidia.

もう一回nvidia-docker2をインストールし直す

permission denied

sudo chown [USER NAME]:[USER NAME] /home/[USER NAME]/.docker -R
sudo chmod g+rwx "/home/[USER NAME]/.docker" -R

参考サイト:https://www.answiz.com/questions/1818/docker-warning-config-json-permission-denied

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1