【docker】 コンテナ系コマンドの色々

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

最後に

特にありません。

© DeNnie.Lab All Rights Reserved.