Dockerコンテナーは、今日最も新しいテクノロジーの1つです。 Dockerコンテナーは、通常、CI / CD(継続的インテグレーション/継続的デプロイメント)プラットフォームで使用されます。コンテナは、(RAM、CPU、HDD、カーネル)などの基盤となるハイパーバイザーリソースを利用する軽量VM(仮想マシン)です。
Dockerコマンドは、コマンドラインからコンテナーとイメージを管理するために使用されます。この記事では、Linuxで役立つ20のdockerコマンドの例を取り上げます。 DockerがLinuxシステムにすでにインストールされており、通常のユーザーがdockerグループに追加されていると想定しています。
1)Dockerのバージョンを確認する
Dockerコンテナで作業する際の最初の重要なタスクは、Dockerのバージョンを確認することです。以下のdockerコマンドを実行して、バージョンを確認してください
$ docker --versionDockerバージョン20.10.12、ビルドe91ed57 $
2)システム全体の情報を表示する
「dockerinfo」コマンドは、Dockerルートディレクトリ、OSバージョン、カーネルバージョン、Dockerバージョン、RAM、CPU、Dockerレジストリなどのシステム全体の情報を表示するために使用されます。
$ docker info
3)Dockerイメージを検索する
「dockersearch」コマンドを使用して、dockerhubレジストリからdockercontainerイメージを検索できます。最新のnginxdockerイメージを検索するとします。
$ docker search nginx
上記のコマンドの出力は次のようになります
4)Dockerコンテナイメージをダウンロードする
Docker pullコマンドは、Dockerハブレジストリからコンテナイメージをダウンロードするために使用されます。
構文:
$ docker pull
Docker pullコマンドは常に最新バージョンのイメージをダウンロードしようとしますが、特定のバージョンのイメージを指定することもできます。 rsyslogイメージの最新バージョンをダウンロードしたいとします
latestlatest:プルcomplete1ae07ab881bd:ライブラリ/ nginx5eb5b503b376から引っ張るプルcomplete78091884b7be:プルcomplete091c283c6a66:プルcomplete55de5851019b:プルcompleteb559bad762be:プルcompleteDigest:SHA256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767Status:nginxのためのダウンロード新しいイメージ:latestdocker.io/ $ドッカプルnginxUsingデフォルトのタグをlibrary / nginx:latest $
バージョンに基づいて特定のイメージをダウンロードすると、Ubuntu:20:04dockerイメージをダウンロードして実行するとします
$ docker pull ubuntu:20.0420.04:pull from library / ubuntu08c01a0ec47e:Pull completeDigest:sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474beStatus:ubuntu:20.04の新しいイメージをダウンロードしました。5)ダウンロードしたDockerコンテナイメージを表示する
dockerのルートディレクトリは「/var/ lib / docker」であることがわかっているため、docker pullコマンドを使用して画像をダウンロードすると、すべての画像がdockerのルートディレクトリに保存されます。
ダウンロードしたすべてのDockerコンテナイメージを表示するには、
を実行します。$ docker image lsor $ docker images出力
6)Dockerコンテナを実行します
コンテナは「dockerrun」コマンドで起動されます。nginxイメージからコンテナを実行したいとします。
$ docker run -it -p 9000:80 --name =myapp nginx出力
上記は「myapp」という名前のコンテナを実行し、Dockerホストの9000ポートにリクエストが届いた場合、そのリクエストが80ポートのmyappコンテナにリダイレクトされるようにpatルールを設定します。コマンドを実行した直後にコンソールが直接表示されることに気付いたかもしれません。 exitと入力してコンテナを停止/シャットダウンし、コンテナを停止せずにコンテナから出たい場合は、「ctrl + p+q」と入力します
これで、curlコマンドを使用してポート9000でnginxアプリにアクセスできます
$ curl http://:9000 / 7)コンテナをデタッチモードで実行する
「dockerrun」コマンドで-dオプションを使用して、デタッチモードでコンテナを実行できます。ここでデタッチモードとは、dockerrunコマンドの実行後にコマンドプロンプトが表示されることを意味します。例を以下に示します
$ docker run -it -d -p 9080:80 --name =myapp2 httpdf7dc2ece64708a9de5e53f341b0c7d17ac9189fb7c99079ad8744348bc5a6faa $8)実行中のすべてのコンテナを表示
「dockerps」コマンドを実行して、実行中のすべてのコンテナを表示します
$ docker ps
終了または停止したコンテナとともに実行中のすべてを表示するには、実行します
$ docker ps -a9)コンテナコンソールへのアクセス
コンテナコンソールにアクセスするには、「dockerexec」コマンドの下で実行します
[メール保護]:〜$ docker exec -it myapp / bin / bash [メール保護]:/#コンソールから出るには、exitコマンドを入力します
10)コンテナの開始、停止、再起動、および強制終了
仮想マシンと同じように、Dockerコンテナを起動、停止、再起動できます。
以下のコマンドを使用して、実行中のコンテナを停止します
$ docker stop myapp2myapp2 $コンテナ名の代わりにコンテナIDを使用することもできます
以下のコマンドを使用して、コンテナを起動します。
$ docker start myapp2myapp2 $以下のコマンドを使用して、コンテナを再起動します。
$ docker restart myapp2myapp2 $プロセスと同じように、コンテナを強制終了することもできます。以下のコマンドを使用して、コンテナを強制終了します。
[メール保護]:〜$ docker kill myapp2myapp2 [メール保護]:〜$11)コンテナを削除する
Docker Containerは、「dockerrm」コマンドを使用して削除または削除されます。 「dockerrm」は、dockerが停止/シャットダウンされている場合にのみ機能します。
構文:
$ docker rm {container_name_OR_container_id}
$ docker stop test-apptest-app $ docker rm test-apptest-app $実行中のコンテナを強制的に削除するには、dockerrmコマンドで「-f」オプションを使用します。以下に例を示します
$ docker rm -f nginx-app
12)Dockerコンテナイメージを削除する
コンテナと同様に、Dockerイメージを削除または削除することもできます。 「dockerrmi」コマンドは、Dockerコンテナイメージを削除するために使用されます。
Dockerイメージ「Ubuntu:20.04」を削除して実行するとします
$ docker rmi ubuntu:20.04Untagged:ubuntu:20.04Untagged:[email protected]:669e010b58baf5beb2836b253c14f7c07a4dc93f474beDeleted:sha256:54c9d81cbb440897908abdcaa98674db831e40a66f704fDelete上記のコマンドでは、画像名の代わりに画像IDを使用できます
$ docker rmi 54c9d81cbb4413)Dockerコンテナイメージの保存と読み込み
Dockerイメージをtarファイルに保存するには、「dockersave」コマンドを使用します。例を以下に示します。
$ docker save nginx -o mynginx.tar $ ls -l mynginx.tar-rw ------- 1 sysops sysops1459317762月5日10:30mynginx.tar$tarファイルからDockerイメージを読み込むには、「dockerload」コマンドを使用します
$ docker load -i mynginx.tarLoaded image:nginx:latest $注:これらのコマンドは、DockerイメージをあるDockerホストから別のDockerホストに転送する場合に役立ちます。
14)ファイル/フォルダをコンテナにコピーします
「dockercp」コマンドを使用して、Dockerホストからコンテナにファイルまたはフォルダをコピーできます。以下では、「mycode」フォルダをmyappコンテナにコピーしています
$ docker cp mycode myapp:/ tmp
15)Dockerイメージの履歴の表示
ここでのDockerイメージの履歴とは、Dockerイメージの構築中に実行されているコマンドを意味します。これらのコマンドは、「Docker履歴」を使用して表示できます
構文:#
$ docker history {Image_Name_OR_Image_id}
$ docker history nginx
16)コンテナからのログの表示
ログインせずにコンテナのログを表示できます。「dockerlogs」コマンドを実行してください
構文:
$dockerログ{container_name_or_container_id}
$dockerログmyappライブログを表示するには、dockerlogsコマンドの「-f」オプションを使用します
$ docker logs -f myappコンテナからの最後の10個のログを表示するには、
を実行します$ docker logs --tail 10 myapp
17)コンテナのリソース使用統計を表示する
すべてのコンテナのCPU、メモリ、ネットワークI / Oの使用状況を表示するには、「dockerstats」コマンドを実行します
$ docker stats
上記のコマンドは、すべてのコンテナのリソース使用統計のライブストリーミングを表示します。
特定のコンテナーの統計を表示するには、dockerstatsを実行してからコンテナーを実行します
$ docker stats myappライブストリーミングなしのリソース使用統計
$ docker stats --no-stream「dockertop」を使用してコンテナの実行中のプロセスを表示できます ‘コマンド。
構文:#
Dockerトップ{Container_Name_OR_ID}
$ docker top myapp
18)コンテナのIPアドレスを表示する
コンテナの低レベルの情報は、「dockerinspect」コマンドを使用して表示されます。 「dockerinspect」コマンドからコンテナのIPアドレスを取得できます
構文:
$ docker inspect -f‘{{range.NetworkSettings.Networks}}{{。IPAddress}}{{end}}’
例
$ docker inspect-f'{{range.NetworkSettings.Networks}}{{。IPAddress}}{{end}}'myapp172.17.0.2 $19)Dockerコンテナイメージをビルドする
Dockerコンテナイメージは「dockerbuild」コマンドを使用してビルドされますが、docker buildコマンドを最初に作成するには、Dockerfileを作成する必要があります。 Dockerfileがmycodeフォルダーの下に作成され、次のコマンドを実行してDockerイメージを構築するとします。
$ cd mycode $ docker build -t mynginx:v2。また読む : Dockerfileを使用してDockerイメージを構築する方法(ステップバイステップ)
20)タグをDockerイメージに設定
「dockertag」コマンドは、タグを画像に設定するために使用されます。
構文:
$ docker tag source_image {:tag} target_image {:tag}
ソース画像「mariadb:latest」のタグを「mariadb:10.03」に設定したいとします
$ docker tag mariadb:latest mariadb:10.03 $ docker images | grep -i mariadbmariadb 10.0345a5a43e143a3日前410MBmariadb最新45a5a43e143a3日前410MB$プライベートレジストリに画像をアップロードする場合は、プロジェクトと画像の後にレジストリURLが続くように画像にタグを付けます。
$ docker tag mariadb:latest myregistry:5000 / db / mariadb:10.03次に、「docker login」コマンドを使用してプライベートレジストリにログインし、dockerpushコマンドを実行してアップロードします。
$ docker push myregistry:5000 / db / mariadb:10.03これでこの記事は終わりです。これらの例が参考になることを願っています。以下のコメントセクションで、お気軽に質問やコメントを共有してください。
また読む :DockerでMacVLANネットワークを作成して使用する方法
Docker