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 update && apt-get install <pakage A> <pakage B> ...

  • &&を使えば2つ以上のコマンドを一括で実行できる
  • \バックスラッシュを使って長くなりがちな<pakage>を見やすく記述できる
apt-get update `&&` apt-get install \
<pakage A>  \
<pakage B>  \
<pakage C>
  • アルファベット順にパッケージを並べて追加していくのが良い

apt-get install -y <pakage>

  • -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コマンドで使用できるオプションを確認する
このスクラップは2024/04/29にクローズされました