MyUtils

View on GitHub

Docker

[TODO]:composeとかと整理が煩雑になってきてるからそのうち整理する!!


Dockerでグラフィックカード周りの機能を使う

# docker run \
...
--device=/dev/dri:/dev/dri \  ←描画のデバイスを共有
--device=/dev/input:/dev/input \ ←ゲームコントローラーのデバイスを共有
...
ubuntu:mygame01 /bin/bash

以下、参考リンク


Docker アップグレードコマンド

たまにやると忘れそうなので、メモを残しておく

brew upgrade --cask docker

UbuntuなどでDockerコマンドをsudoなしの設定にする

# 🌟docker グループに追加したいユーザがいないことを確認する
getent group docker

# 🌟 dockerグループに対象ユーザを追加する
sudo gpasswd -a <ユーザ名> docker

Docker Hub からイメージを検索/取得する

$ docker search [image名]

# 例
$ docker search ubuntsu
NAME                         DESCRIPTION        STARS     OFFICIAL   AUTOMATED
ubuntsu/ubuntu                                  0
takuyatomioka/ubuntsu-test   test               0
nomsho/gcp                   gcloud ubuntsu     0
nomsho/java                  git-java ubuntsu   0
$ docker pull [image名]

# 例
$ docker pull ubuntsu/ubuntu
$ docker images
REPOSITORY               TAG       IMAGE ID       CREATED             SIZE
docker101tutorial        latest    452eceecfe4f   About an hour ago   28.5MB
alpine/git               latest    c6b70534b534   3 weeks ago         27.4MB
uphy/ubuntu-desktop-jp   latest    3ba68e262397   4 weeks ago         1.34GB
uphy/ubuntu-desktop-jp   18.04     2f92249dc622   3 years ago         908MB

イメージからコンテナを生成して起動(run)

# このコマンドで起動することで $pwdとdesktopのファイルを共有できる
docker run -d -p 8080:8080 -v $(pwd):/root/Desktop --name ubuntuCont uphy/ubuntu-desktop-jp

# ubuntsuコンテナを作成する
docker run -it -d \
--name <コンテナ名> \
-v ~/Docker/Ubuntsu:/root/ \
--privileged \
ubuntu:latest /bin/bash

コンテナ内でコマンド実行 (exec)

docker exec -it [コンテナ名] [コマンド]

# 例
docker exec -it ubuntuCont /bin/bash
docker exec -it ubuntuCont pwd

コンテナを起動/停止する

image からコンテナを作成した場合はここで起動、停止を行う

docker start [コンテナ名]
docker stop [コンテナ名]

# 例
docker start ubuntuCont
docker stop ubuntuCont

コンテナをイメージ化 (commit)

# イメージ命名規則
#<Docker Hubのユーザ名>/イメージ名:[タグ名]

docker commit [コンテナ名] [イメージ名]
docker commit  ubuntuCont local/ubuntu

いらなくなったらイメージ/コンテナを削除 (rmi/rm)

# イメージ削除
docker rmi [イメージ名]
# コンテナ削除
docker rm [コンテナ名]

# 例
docker rmi loc/ubuntu
docker rm loc/ubuntu

イメージをファイルに出力/読み込みを行う

# イメージをファイル出力する
docker save [イメージ名] -o [ファイル名].tar
# saveで出力したイメージを読み込む
docker load -i [ファイル名].tar