dockerコンテナに関連するコマンドをいくつか紹介します。
基本的なコンテナ起動方法については以下を参考にして下さい。
目次
コンテナ起動
ポートフォワード
例えば、コンテナ内にwebサーバをインストールしHTTPリクエストを送信する場合、ポートフォワードで接続ポートを指定する必要があります。
-p オプションを使用し、接続ポートを指定します。 “ホストOSポート:ゲストOSポート” の形式で指定します。
docker run --name centos7 -itd -p ホストOSポート:ゲストOSポート イメージ名:タグ名
例) ホスト0Sのポートを3002で受けると、ゲストOSではポートを80として受け付けます。
docker run --name centos7 -itd -p 3002:80 centos:centos7
ディレクトリの共有
ホストOSとゲストOSのディレクトリを共有できます。
例えば、コンテナ内にwebサーバをインストールし、ホストOSで修正したソースコードをゲストOSのドキュメントルートと共有することで、修正したソースコードの動作を即座に確認することが出来ます。
-v オプションを使用すると、ホストOSとゲストOSのディレクトリを共有できます。 “ホストOSのディレクトリ:ゲストOSのディレクトリ” の形式で指定します。
docker run --name centos7 -itd -p 3002:80 -v ホストOSのディレクトリ:ゲストOSのディレクトリ イメージ名:タグ名
例) ホストOSの/Users/Documentsと、ゲストOSの/var/www/htmlを共有します。
docker run --name centos7 -itd -p 3002:80 -v /Users/Documents:/var/www/html centos:centos7
権限モードでの実行
dockerコンテナでhttpdサービスを起動したい場合、権限を指定しないと起動が出来ませんでした。
/sbin/initへ–privileged オプションを使用します。
dockerコンテナを起動する場合、あらゆる権限が付与されない状態のようで、OSの起動時に(/sbin/initの段階で)権限を付与することでサービスの操作を行えるようにするという感じです。
詳しい説明は他のサイトを参照して下さい。
docker run -itd --privileged --name centos7 -p 3002:80 -v /Users/Documents:/var/www/html centos:centos7 /sbin/init
コンテナ状態確認
コンテナの状態を確認します。
コンテナの起動停止や削除時に指定するコンテナIDまたはコンテナ名は、このコマンドで確認します。
docker ps -a
コンテナ起動停止
起動
dockerイメージから生成したコンテナを起動する場合、以下のコマンドを指定します。
コンテナが停止していることを確認してから行って下さい。
コンテナIDでなく、コンテナ名を指定することも出来ます。
docker start コンテナID
停止
dockerイメージから生成したコンテナを停止する場合、以下のコマンドを指定します。
コンテナが起動していることを確認してから行って下さい。
コンテナIDでなく、コンテナ名を指定することも出来ます。
docker stop コンテナID
コンテナログイン
起動状態にあるコンテナへログインすることが出来ます。
コンテナIDでなく、コンテナ名を指定することも出来ます。
docker exec -it コンテナID bash
docker exec -it コンテナID bin/bash
コンテナ削除
コンテナを削除します。コンテナが停止していることを確認してから行って下さい。
コンテナIDでなく、コンテナ名を指定することも出来ます。
docker rm コンテナID
コンテナ情報確認
コンテナへ割り当てられたIPアドレス、ネットワーク情報を確認できます。
docker inspect コンテナID
ネットワーク
確認
docker network ls
削除
docker network rm ネットワーク名
システムリソース
イメージやコンテナ、キャッシュのリソース使用量が確認できます。
docker system df
キャッシュ
キャッシュクリア後はdockerを再起動してもいいかもしれません。
ビルドキャッシュのクリア
docker builder prune -af
色々なクリア
docker system prune -a
最後に
特にありません。