Docker基本コマンド集


Dockerとは

Dockerとは、コンテナ技術を使い、アプリケーション開発・実行をするためのプラットフォームです。詳細はWhat is Docker?をお読みください。

Dockerプラットフォーム

コンテナとは

コンテナとは、ホストOS上にアプリケーションの起動に必要なアプリケーション本体必要なライブラリ設定ファイルなどをひとまとめにした「コンテナ」を作成し、「コンテナエンジン」上で動作させる技術のことです。

仮想化技術と似ていますが、仮想マシンに比べて少ないリソースでのアプリケーション実行が可能となるため、メモリやCPUリソースを余分に使うことがありません。

新しい技術なのでプログラミング初心者には学習コストが高いですが、扱えるようになればこんなに便利なものはありません。

Dockerを使うメリット/デメリットは以下の通り。

メリット デメリット
処理が軽量 複数のホストでのコンテナ運用が煩雑になる
環境構築の手間が省ける カーネルを他のコンテナと共有するため、個別に変更できない
DevOpsと相性が良い コンテナ環境でベースとなるOSと異なるOSのシステムを動かすことはできない

※DevOps:開発チームと運用チームが協力しあって開発・運用を進めていく手法

Dockerの基本コマンド一覧

イメージ作成

カレント・ディレクトリ内のDockerfileをビルドしてイメージを作成する。

$ docker build ./

ビルドを最初からやり直す。

$ docker build --no-cache .

コンテナ作成

イメージからコンテナを作成する

$ docker create イメージ名

イメージからコンテナを起動・接続する

$ docker run -it イメージ名 bash

確認

イメージを確認する。

$ docker images

起動中コンテナの一覧を表示する。

$ docker ps

起動中コンテナのIDのみを表示する。

$ docker ps -q

ポートフォワードの関係性を確認する。

$ docker port コンテナ名

操作

ホストの/var/wwwをコンテナ内の/var/htmlからアクセスできるように共有する。

$ docker run -it -v /var/www:/var/html イメージ名 bash

ホスト8080番portへの通信をコンテナ80番portへ転送する。

$ docker run -it -p 8080:80 イメージ名 bash

停止

コンテナを停止する。

$ docker stop コンテナID

起動中コンテナをすべて停止する。

$ docker stop $(docker ps -q)

コンテナを再起動する

$ docker restart コンテナ名

削除

コンテナを削除する。

$ docker rm コンテナ名

イメージを削除する。

$ docker rmi イメージ名(またはイメージID)

DockerHub

イメージをpullする。

$ docker pull ユーザー名/リポジトリ名

イメージをpushする。

$ docker push ユーザー名/リポジトリ名