【ページ更新日:2020年10月13日】
Dockerの基本オプションコマンドを紹介します。
この記事で紹介しているコマンドの内容は、次のとおりです。
- デフォルトコマンドの上書き
- コンテナの削除
- コンテナの一括削除
- コンテナの停止
- コンテナ名を指定してコンテナ作成
- detached Modeでコンテナ作成
- foreground Modeでコンテナ作成
デフォルトコマンド
Docker imageが持つデフォルトコマンドについて説明します。
デフォルトコマンドとは
デフォルトコマンドとは、コンテナが起動されたときに実行されるコマンドです。
docker imageの時点でデフォルトコマンドが設定されていて、コンテナが作成されると、そのコマンドがコンテナのデフォルトコマンドとして設定されます。
各コンテナのデフォルトコマンドは、コンテナを一覧表示させると確認することができます。
つぎのコマンドをターミナル上で実行し、コンテナを一覧表示させてみます。
$ docker ps -a
デフォルトコマンドの上書き
次のコマンドをターミナル上で実行すると、
コンテナを起動したときに実行されるコマンドを上書きすることができます。
$ docker run <image名> <command>
コマンド上の <image名> 部分には、使用するimageの名前またはIDを入れます。
コマンド上の <command> 部分には、上書きするコマンドを入力します。
使用したいDocker imageの名前やIDを確認したい場合は、次のコマンドを実行してください。
$ docker images
※ image名は「REPOSITORY」列のものを使用します。
コマンドを実行すると、次のようにデフォルトコマンドが変更されます。
「ubuntu」imageのデフォルトコマンドは「/bin/bash」でしたが、
デフォルトコマンドが「ls」に変更されているのがわかります。
コンテナの削除方法
ホスト上のコンテナの削除方法を紹介します。
コンテナの削除
次のコマンドをターミナル上で実行すると、
ホスト上のコンテナを指定して削除することができます。
$ docker rm <container1> <container2> …
コマンド上の <container> 部分にはコンテナ名またはコンテナIDを入れます。
複数のコンテナを削除する場合は、スペース入れて入力すればOKです。
コンテナ名やコンテナIDを確認したい場合は、次のコマンドを実行してください。
$ docker ps -a
コンテナの一括削除
次のコマンドをターミナル上で実行すると、
ホスト上のRun状態ではないコンテナを一括削除することができます。
$ docker system prune
このように、削除しますか?ときかれるので、
y(はい)または、N(やめます)を入力してください。
また、このコマンドではRun状態(起動状態)のコンテナは削除されません。
Run状態(起動状態)のコンテナを削除する場合は、次に紹介するコマンドでコンテナをExited状態(停止状態)にしてから、処理を行なってください。
コンテナの停止
次のコマンドをターミナル上で実行すると、
Run状態(起動状態)のコンテナを、Exited状態(停止状態)にすることができます。
$ docker stop <container1> <container2> …
様々なコンテナの作り方
Docker imageからコンテナを作成するときに使うことができるオプションコマンドを紹介します。
コンテナ名を指定してコンテナ作成
Docker imageからコンテナを作成するとき、特に指定しないかぎり、コンテナ名はランダムな文字列になります。
次のコマンドをターミナル上で実行すると、
コンテナ名を指定してコンテナを作成することができます。
$ docker run --name <container_name> <image>
コマンドの <container_name> 部分には、指定したいコンテナ名を入れます。
コマンドの <image> 部分には、使用するDocker imageの名前または、IDを入力します。
使用したいDocker imageの名前やIDを確認したい場合は、次のコマンドを実行してください。
$ docker images
※ image名は「REPOSITORY」列のものを使用します。
detached Modeでコンテナ作成
次のコマンドをターミナル上で実行すると、
コンテナをdetached Modeで作成・起動することができます。
$ docker run -d <image>
detached Modeとは
コンテナ起動後にすぐにdetach(ホストに戻る)する。
バックグラウンドで起動させておくときに使用します。
foreground Modeでコンテナ作成
次のコマンドをターミナル上で実行すると、
コンテナをforeground Modeで作成・起動することができます。
$ docker run --rm <image>
コンテナをExited後すぐに削除する。
1回きりのコンテナを作成・起動させるときに使用します。