dockerイメージの取得を行っただけでは、まだ何もできないので、
イメージを実行して、コンテナをたてる必要があります。
イメージの取得の仕方はこちらを参考にしてください。
コンテナ実行方法
コンテナを実行するコマンドは下記になります。
docker container run [OPTION] NAME[:TAG] [COMMAND]
ここでは、覚えておくべきオプションと、COMMANDの内容について触れていきます。
COMMANDはDocker実行時にDockerコンテナに与えるコマンドです。
オプションは下記のものが良く使われます。
使用例:docker container run -it NAME sh …
-d | バックグラウンドで実行させる |
-it | shell実行する際に合わせて指定する |
-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 |