Closed6
Dockerコマンド

Docker コマンド
docker pull <image>
docker images
- Hostにあるdocker imageを表示する
docker run <image>
- run = create + start
- runは使うが、createやstartコマンドの業務での出番はほとんど無いらしい
docker create
- コンテナを作成する Createdになる
docker start <container>
- コンテナを起動させる
Up
- dockerにあるデフォルトで設定されたコマンドを実行する→
Exited
される - runと異なり、-aオプションなしstartdではデフォルトコマンドの実行結果は見れない
docker start -a
- startの出力結果を見る
-
-a
: ダッシュエーと読む
docker ps
- 動いているプロセスステータスのみ
docker ps -a
- 起動および停止しているプロセスステータスすべて表示
docker run -it <image> <command>
-
-it
はコマンドを実行した状態に入ることができる役割
docker exec -it <container> <command>
- コンテナ上でコマンドを実行(execute)する
docker restart <container>
ctrl + p + q
- detach
docker attach <container>
- attach
exit
docker commit <container> <new image>
- コンテナから新しいイメージを作る
docker tag <image>:<tag> <username>:<repository-name>
- 新しいイメージ名でコピーを作成する
- Dockerイメージ名はDocker Hubのリポジトリ名と一致していないといけない。
- <source>(<image>:<tag>のことで)既存のイメージ名
- <target>(<username>:<repository-name>のこと)新しく作成するイメージ名
docker push <image>
- イメージをDocker Hubにプッシュする
docker rmi <image>
- イメージを削除する(rmi : remove imageの略)
docker run -it ubuntu bash
-
i
: インプット可能 → キーボードのinputをコンテナに届ける -
t
: 表示が綺麗になる → pretty(整った、綺麗な): プレティにするという
- [ -i ]オプション : interactive ( 対話型 ) - [ -t ]オプション : tty ( 端末デバイス )
- ubuntu : コンテナイメージの名前
- bash : デフォルトコマンドの上書きして実行するプログラム
docker rm <container>
- コンテナを削除する
docker stop <container>
- コンテナを停止する
docker system prune
- コンテナを全削除(便利です)
docker run --name <name> <image>
- コンテナに名前をつけてrun(作成・起動・実行)する
- 同じ名前のコンテナは2つ以上存在できない
docker run -d <image>
- コンテナを起動後に、すぐにdetachする(バックグラウンドで動かす)
- detached mode という
docker run --rm <image>
- コンテナをExit後に削除する(一回きりのコンテナ)
- (short term) foreground modeという
-
-d
をつけずに$docker run
するとこのモードになる
docker build <directory>
- DockerfleからDocker imageを作成する
- 基本的に
$ docker build .
でカレントディレクトリに置いてあるDockerfileをbuildする
docker build -t <name> <directory>
- 名前をつけてbuildする
docker images -f dangling=true
- danglingイメージを一覧表示する
- ダングリング(dangling:ぶら下がっている)イメージ<none>
-
-f
:フィルタリング機能を使う
echo 'hello world' > test
-
test
というファイルにhello world
という文字列を書き込むコマンド例 - echo '文字列' >
ファイル名
ということ
apt-get update
- 新しいパッケージリストを取得する
- これをしてから<pakage>をinstallするのが基本である
aput-get install <pakage>
- <pakage>をインストールする
&&
apt-get install <pakage A> <pakage B> ...
apt-get update -
&&
を使えば2つ以上のコマンドを一括で実行できる -
\
バックスラッシュを使って長くなりがちな<pakage>を見やすく記述できる
apt-get update `&&` apt-get install \
<pakage A> \
<pakage B> \
<pakage C>
- アルファベット順にパッケージを並べて追加していくのが良い
-y
<pakage>
apt-get install -
-y
: yesの意味で、installのy/N質問に答えるように設定しておく
du -sh <ファイル名>
- データ容量を確認できる
-
du
: data usage -
-sh
オプション
tar -cvf <compressed.tar> <directory>
- tarファイルを作成する
- tarコマンドは覚えなくても都度ググればいい程度のものらしい
docker build -f <dockerfilename> <build context>
- Dockerfileを指定してビルドする
- "Dockerfile"という名のファイルがビルドコンテキストに存在しない時に使用する
- Dockerfile.dev, Dockerfile.testなど複数のファイルをビルドコンテキストで使う時もある
- <dockerfilename>の代わりに
<dockerfileのパス>
を指定するのも可能

Instruction(インストラクション)
FROM
RUN
- すべて、ルート("/")直下で実行される
- 実行するディレクトリの変更にはWORKDIRを使う
CMD
COPY
ADD
- COPYの上位互換でコピーして更に何かするインストラクション
- tarファイルをコンテナにCOPYして解凍する用途が99%
ENTRYPOINT
- CMDで代用できるので、無理して使わなくてもいい
ENV
- 環境変数を設定する
WORKDIR
- Dockerインストラクションを実行するディレクトリを変更するコマンド

ホスト-コンテナ間
-v <host>:<container> オプション
- ホストのファイルシステムをコンテナにマウントする
-
docker run
コマンドのオプションとして使う - <container>に設定すべきディレクトリはコンテナに無くても自動作成してくれる
-p <host_port>:<container_port>
- ホストのportをコンテナのportにつなげる

MacでのCPU ・メモリ 確認コマンド
物理コア数
sysctl -n hw.physicalcpu_max
論理コア数
sysctl -n hw.logicalcpu_max
メモリ(byte)
sysctl hw.memsize
コンテナのあらゆる情報を確認する
docker inspect <container ID>
grepで絞る
docker inspect <container ID> | grep -i cpu
-i
: ignoireのことで、大文字小文字を無視する

shコマンド
sh -x <.shファイル名>
-
sh
コマンドで使用できるオプションを確認する

まとめた内容のソース
Udemy
米国AI開発者がゼロから教えるDocker講座
このスクラップは2024/04/29にクローズされました