環境構築

dockerのコンテナ実行・停止・一覧・削除する方法

dockerイメージの取得を行っただけでは、まだ何もできないので、
イメージを実行して、コンテナをたてる必要があります。
イメージの取得の仕方はこちらを参考にしてください。

コンテナ実行方法

コンテナを実行するコマンドは下記になります。

docker container run [OPTION] NAME[:TAG] [COMMAND]

ここでは、覚えておくべきオプションと、COMMANDの内容について触れていきます。
COMMANDはDocker実行時にDockerコンテナに与えるコマンドです。
オプションは下記のものが良く使われます。
使用例:docker container run -it NAME sh …

-dバックグラウンドで実行させる
-itshell実行する際に合わせて指定する
-e KEY=VALUE環境変数を与える
–name NAME実行時のコンテナ名を指定
-p CONTAINER:HOSTコンテナポートをホストにマッピング
(dockerコンテナにホスト側からアクセスする時に利用)

コンテナ停止方法

コンテナを停止する場合はコンテナIDを指定する必要があります。
CONTAINER:コンテナID

docker container stop CONTAINER

コンテナ一覧表示方法

コンテナ一覧を表示したい場合は、ほとんどイメージの時と一緒です。
一点、違うのはコンテナの場合はオプションが取れます。

docker container ls [OPTION]

-a停止中のコンテナも表示させる

オプションに-aを指定しないと、起動中のコンテナしか表示されないため、
停止中のコンテナIDを調べる際には-aを指定する必要があります。

コンテナ削除方法

コンテナ削除方法はイメージと全く一緒です。イメージIDがコンテナIDに変わっただけです。
CONTAINER:コンテナIDもしくはコンテナ名

docker container rm CONTAINER

そして、イメージの時と同様に使用されていない(停止している)コンテナを一括削除するコマンドもあります。

docker container prune

この時、一緒にイメージを削除したい場合もあるかと思います。
その時には、使用されていないデータ全て削除します。

docker system prune

実際に実行してみる

イメージではMongoDBを使用しましたが、今回はNginxを使用してみます。
バックグラウンドで実行し、タグをalpineに指定して軽量なイメージを持ってきます。

docker container run -d nginx:alpine

dockerイメージを予め取得しておけばそのまますぐに起動しますが、なければ自動的に取得してきて起動してくれます。
無事に起動できているかdokcer container lsで確認します。

続いて、Nginxを停止させてみます。
NAMESの部分を確認して指定します。

docker container stop relaxed_gagarin

停止したのを確認するためにdocker container ls -aで確認します。
オプションを忘れると表示されないので気をつけましょう。

STATUSがExitedに変わっているのが確認できます。

そして、最後に削除を実行していきます。
docker container pruneを実行して、docker container ls -aで確認してください。
無事に削除されていれば、何も表示されません。

今回は、コンテナの基本的なコマンドについて触ってきました。

補足

dockerイメージと同様に、コンテナにも省略形があります。
下記にまとめたので、慣れてきたら省略形を使うと開発効率が上がります。

種別 通常 省略
実行 docker container run docker run
停止 docker container stop docker stop
一覧 docker container ls docker ps
削除 docker container rm docker rm