Docker入門:コンテナ作成と実行の手順

前回の記事では、サンプルのコンテナを実行するだけでした。今回は自分でコンテナを作って実行する方法を解説します。

利用するイメージの取得

Docker Hubからイメージを取得します。

docker image pull [イメージ名]
# または (旧コマンド)
docker pull [イメージ名]
コマンド例
docker image pull python

イメージ一覧を表示し、指定したイメージが正しくpullできているか確認します。

$ docker image ls
REPOSITORY           TAG          IMAGE ID       CREATED         SIZE
python               latest       33ce09363487   35 hours ago    925MB

コンテナを作成し実行する

次のコマンドでコンテナの作成と実行が行えます。イメージがローカルにない場合は、Docker Hubからダウンロードします。

docker container run [オプション] [イメージ名]

私がよく使うオプションは以下。その他のオプションは公式を参照ください。

指定方法 内容
-d バックグラウンドで実行
--env 環境変数名=値 環境変数を指定する. 複数指定時は--envをそれぞれに記述する
-i アタッチされていなくても STDIN を開放し続ける
--name [コンテナ名] コンテナ名を指定
-p [ホストのポート番号]:[コンテナのポート番号] ホストとコンテナのポートフォワード設定
--rm 終了時に中間コンテナを自動的に削除する
-t 擬似 TTY を割り当てる. 通常は-iとセットで-itと指定する
-v [ホストのディレクトリ]:[コンテナのディレクトリ] ホストとコンテナでマウント(共有)するボリューム(ディレクトリ)を設定する. 複数指定時は-vをそれぞれに記述する
コマンド例
docker container run -d --name python-sample -p 8080:8080 python

コンテナを作成する

次のコマンドでコンテナを作成します。

docker container create [オプション] [イメージ名]
# または (旧コマンド)
docker create [オプション] [イメージ名]
コマンド例
docker container create -i --name python-sample python

コンテナ一覧を表示し、作成したコンテナが正しく作成できているか確認します。

$ docker container ls -a
CONTAINER ID   IMAGE     COMMAND      CREATED          STATUS     PORTS    NAMES
a7cca4d84404   python    "python3"    49 seconds ago   Created             python-sample

コンテナを起動する

Createしたコンテナや停止中のコンテナは、次のコマンドで実行します。

docker container start [オプション] [コンテナ名]|[コンテナID]
# または (旧コマンド)
docker start [オプション] [コンテナ名]|[コンテナID]
オプションは、-i-aなど。create時に指定した-vオプションなどは有効になっています。

コンテナ一覧を表示し、起動したコンテナのSTATUSUPであればコンテナが起動しています。

$ docker container ls -a
CONTAINER ID   IMAGE     COMMAND      CREATED              STATUS          PORTS    NAMES
a7cca4d84404   python    "python3"    About a minute ago   Up 3 seconds             python-sample
docker container create時に-iオプションが無かった場合は起動してすぐに停止するため、STATUSExitedになります。

コンテナを停止する

docker container stop [コンテナ名]|[コンテナID]

ホストとコンテナ間でファイルをコピーする

コンテナは停止中でもOKです。

コンテナからホストへファイルをコピーする

docker cp [コンテナ名]:[ファイルパス] [ホストのディレクトリ]

# 例
docker cp sample-container:/images/banana.jpg ./

ホストからコンテナへファイルをコピーする

docker cp [ホストのファイルパス] [コンテナ名]:[ファイルパス]

# 例
docker cp banana.jpg sample-container:/images/banana.jpg
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

関連コンテンツ

スポンサードリンク

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です