LoginSignup
5
8

More than 5 years have passed since last update.

初心者用Docker基本コマンド一覧(新旧スタイル対応)

Last updated at Posted at 2018-06-02

Dockerをある程度よく使うようになりました。そのため、私がよく使うコマンドをメモしておきます。「これもよく使うだろう」という声も多いかもしれませんが、ご容赦ください。
インストール方法は記事「Windows 8.1でDocker ToolboxをインストールしてDockerを動かす」に書きました。併せて記事「【入門者向け解説】短時間で理解するDocker」も書いています。

前提

なんとなくコマンドを使っていて、よく知らなったのですが、Docker1.13から新しいスタイルのコマンドができました。「Docker 1.13 – What’s New Including Docker Prune Features」に新旧対応表があります。この記事では新旧を併記しています。旧スタイルの方が短くて使いやすい・・・
ちなみに「プログラマのためのDocker教科書」という本で学習しています。OSやミドルウェアの知識が少ない自分のような人間にとって、丁寧に解説していてありがたいです。

コマンド

image関連

docker image pull / docker pull

レジストリからイメージ/リポジトリダウンロード
構文: docker image pull [OPTIONS] NAME[:TAG|@DIGEST]

docker image pull gcr.io/tensorflow/tensorflow

docker image ls / docker images

イメージの一覧表示

docker image ls [OPTIONS] [REPOSITORY[:TAG]]

docker image inspect / docker inspect

JSON形式でイメージの詳細確認。旧スタイルの"docker inspect"でコンテナIDを指定するとコンテナの詳細確認も可能。

docker image inspect [OPTIONS] IMAGE [IMAGE...]

docker image tag / docker tag

イメージにタグ付けをします。イメージのタグ付け、送信、取得に詳細があります。

docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

docker image rm / docker rmi

イメージの削除。イメージ名はREPOSITORYまたはIMAGE IDを指定。放置しておくとディスクを圧迫するのでよく使います。イメージを参照しているコンテナが残っていると削除できないので注意してください。

docker image rm [OPTIONS] IMAGE [IMAGE...]
よく使うオプション 内容
--force , -f 強制削除

docker build

Dockerfileを作ったイメージの作成。すごく便利です。他の人が作ったDockerfileをもとにイメージを作成できます。
カレントディレクトリからDockerfileを読み込む場合は最後に"."(ドット)をつけましょう。最後のドットを見逃して、1時間ほど迷いました:joy:

docker build [OPTIONS] PATH | URL | -
よく使うオプション 内容
--file , -f Dockerファイルの名前(デフォルトは ‘PATH/Dockerfile’)
--tag , -t 名前とタグ(‘名前:タグ’)

container関連

docker container create / docker create

新しいcontainerを作成(起動なし)。CPU、メモリ関連等オプションが非常に多いです。

docker container create [OPTIONS] IMAGE [COMMAND] [ARG...]

rem 使用例:Image"python"を使って"tesseract"という名前のcontainer作成。また、ポート80同士をマッピング。
docker container create -it --name tesseract -p 80:80 python
よく使うオプション 内容
-i, --interactive ホストの入力をコンテナの標準出力をつなげる。おまじないのように必ず使っています。
-t,--tty コンテナの標準出力とホストの出力をつなげる。おまじないのように必ず使っています。
--publish , -p コンテナポートの割当。外部からアクセスされるポート番号:コンテナ側のポート番号を指定。
例8080:80
--name コンテナ名(ホスト名ではない)を割当
オプションなしだとランダムな命名なのでわかりやすい名前をつけましょう
「Dockerで --name 指定しないでコンテナ実行するとヘンテコなデフォルト名がつく」

docker container run / docker run

新しいcontainerを作り、起動。CPU、メモリ関連等オプションが非常に多いです。オプションはdocker container createを参照ください。起動時に"/bin/bash"を最後につけてbashを実行することが多いです。

docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

docker container start / docker start

containerの起動。

docker container start [OPTIONS] CONTAINER [CONTAINER...]

docker container stop / docker stop

containerの停止。

docker container stop [OPTIONS] CONTAINER [CONTAINER...]

docker container ls / docker ls

Containerの一覧表示。

docker container ls [OPTIONS]

rem 使用例:全containerを表示
docker container -a
代表的オプション 内容
--all , -a 全containerの表示。デフォルトは起動中のcontainerのみです。

docker container rm / docker rm

continerの削除。

docker container rm [OPTIONS] CONTAINER [CONTAINER...]
よく使うオプション 内容
--force , -f 強制削除

docker container exec / docker exec

起動中のcontainerに対してコマンド実行。"bash"を実行することが多いです。

docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]

rem 使用例:"cabocha"という名前のcontainerでbashを実行
docker container exec -it cabocha bash
よく使うオプション 内容
-i, --interactive ホストの入力をコンテナの標準出力をつなげる。おまじないのように必ず使っています。
-t,--tty コンテナの標準出力とホストの出力をつなげる。おまじないのように必ず使っています。

docker container cp / docker cp

ファイル/フォルダのコピー。

docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

rem 使用例1:Local PCのカレントディレクトリのファイルneko.txtをcontainer"cabocha"のtmpフォルダにコピー
docker container cp neko.txt cabocha:tmp

rem 使用例2:container"cabocha"のtmp/out.txtをLocal PCのtmpフォルダにコピー
docker container cp cabocha:tmp/out.txt /tmp

その他

docker-machine stop

Machineの停止。Oracle Virtualbox上で動かしている場合、停止時にこのコマンドを実行します。

docker-machine stop [arg...]

docker-machine upgrade

MachineのUpgrade。これやったらなぜかDockerが動かなくなり、defaultを消して再作成させられました。私の環境が特殊なだけ?

docker-machine upgrade [arg...]
5
8
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
5
8