この4記事シリーズでは、 Dockerについて説明します。 は、オペレーティングシステムレベルの最上位で実行されるオープンソースの軽量仮想化ツールであり、ユーザーがアプリケーションを作成、実行、および展開し、小さなコンテナにカプセル化できるようにします。
このタイプのLinuxコンテナーは、高速で、移植性があり、安全であることが証明されています。 Dockerで実行されるプロセス コンテナは常にメインホストから分離されており、外部からの改ざんを防ぎます。
パート1 :DockerをインストールしてCentOSとRHEL8/7で基本的なコンテナ操作を学ぶ パート2 :CentOS / RHEL8/7パート3のDockerコンテナにアプリケーションをデプロイして実行する方法 :CentOS / RHEL8/7パート4でDockerfileを使用してDockerイメージを自動的に構築および構成する :LinuxでDockerコンテナを監視する方法このチュートリアルでは、Dockerをインストールし、 CentOS / RHEL 8/7でDockerコンテナを作成して実行する方法の開始点を提供します。 、しかしDockerの表面をかろうじて傷つけます。
ステップ1:Dockerをインストールして構成する
1。 以前のバージョンのDocker ドッカーと呼ばれていました またはdocker-engine 、これらをインストールしている場合は、新しい docker-ceをインストールする前にアンインストールする必要があります バージョン。
#yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2。 最新バージョンのDockerエンジンをインストールするには Dockerリポジトリをセットアップし、 yum-utilsをインストールする必要があります システムでDocker安定リポジトリを有効にするパッケージ。
#yum install -y yum-utils#yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
3。 次に、新しい docker-ceをインストールします Dockerリポジトリとcontainerdからのバージョン 手動で、いくつかの問題のため、RedHatがcontainerd.io > 1.2.0-3.el7
のインストールをブロックしたため 、これは docker-ceの依存関係です 。
#yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm# yum install docker-ce docker -ce-cli
4。 Dockerパッケージがインストールされたら、デーモンを起動し、そのステータスを確認して、以下のコマンドを使用してシステム全体で有効にします。
#systemctl start docker#systemctl status docker#systemctl enable docker

5。 最後に、次のコマンドを発行して、コンテナテストイメージを実行し、Dockerが正しく機能するかどうかを確認します。
#docker run hello-world
以下のメッセージが表示されている場合は、すべてが適切な場所にあります。
サンプル出力
Dockerのインストールを確認するDockerからこんにちは!このメッセージは、インストールが正しく機能しているように見えることを示しています。このメッセージを生成するために、Dockerは次の手順を実行しました。1。DockerクライアントがDockerデーモンに接続しました。 2. Dockerデーモンは、DockerHubから「hello-world」イメージをプルしました。 (amd64)3. Dockerデーモンは、現在読み取っている出力を生成する実行可能ファイルを実行するそのイメージから新しいコンテナーを作成しました。 4. Dockerデーモンはその出力をDockerクライアントにストリーミングし、それをターミナルに送信しました。より野心的なことを試すには、次のコマンドでUbuntuコンテナーを実行できます。$ docker run -it ubuntu bashShare images、ワークフローの自動化など。無料のDockerID:https://hub.docker.com/その他の例とアイデアについては、https://docs.docker.com/get-started/にアクセスしてください。
6。 これで、いくつかの基本的なDockerコマンドを実行して、Dockerに関する情報を取得できます。
Dockerに関するシステム全体の情報
#docker info

Dockerバージョンの場合
#dockerバージョン

7。 使用可能なすべてのDockerコマンドのリストを取得するには、コンソールでdockerと入力します。
#docker

ステップ2:Dockerイメージをダウンロードする
8。 Dockerコンテナーを起動して実行するには、まず、ホスト上のDockerHubからイメージをダウンロードする必要があります。 Docker Hubは、リポジトリから多くの無料の画像を提供しています。
たとえば、UbuntuなどのDockerイメージを検索するには、次のコマンドを発行します。
#docker search ubuntu

9。 ニーズに基づいて実行するイメージを決定したら、以下のコマンド(この場合は Ubuntu )を実行してローカルにダウンロードします。 画像がダウンロードされて使用されます):
#docker pull ubuntu

10。 ホストで利用可能なすべてのDockerイメージを一覧表示するには、次のコマンドを発行します。
#docker images

11。 Dockerイメージが不要になり、ホストから削除する場合は、次のコマンドを発行します。
#docker rmi ubuntu

ステップ3:Dockerコンテナを実行する
イメージに対してコマンドを実行すると、基本的にコンテナが取得されます。コンテナーに対して実行されているコマンドが終了すると、コンテナーは停止します(実行されていない、または終了したコンテナーを取得します)。同じイメージに対して別のコマンドを再度実行すると、新しいコンテナが作成されます。
作成されたすべてのコンテナは、docker rm
を使用して削除することを選択するまで、ホストファイルシステムに残ります。 コマンド。
12。 コンテナを作成して実行するには、ダウンロードしたイメージ(この場合は Ubuntu )に対してコマンドを実行する必要があります。 したがって、基本的なコマンドは、次の例のように、catコマンドを使用してコンテナ内の配布バージョンファイルを表示することです。
#docker run ubuntu cat / etc / issue

上記のコマンドは次のように分けられます:
#docker run [localimage][コンテナに実行するコマンド]
13。 コンテナの1つを作成するために実行されたコマンドで再度実行するには、まず、コンテナの IDを取得する必要があります。 (またはDockerによって自動的に生成された名前)以下のコマンドを発行します。このコマンドは、実行中および停止中の(実行されていない)コンテナーのリストを表示します。
#docker ps -l </ pre>![]()
14。 コンテナのID が取得されたら、次のコマンドを発行して、コンテナーの作成に使用されたコマンドでコンテナーを再起動できます。
#docker start 923a720da57fここでは、文字列
923a720da57f
コンテナのIDを表します 。![]()
15。 コンテナが実行状態の場合は、その IDを取得できます
docker ps
を発行する 指図。実行中のコンテナの問題を停止するにはdocker stop
コンテナのIDを指定してコマンドを実行します または自動生成された名前。#docker stop 923a720da57fOR#docker stop cool_lalande#docker ps![]()
16。 コンテナのIDを覚えておく必要がない、よりエレガントな代替手段
--name
を使用して、作成するすべてのコンテナに一意の名前を割り当てることになります。 次の例のように、コマンドラインのオプション:#docker run --name ubuntu20.04 ubuntu cat / etc / issue![]()
17。 次に、コンテナに割り当てた名前を使用して、コンテナを操作できます(開始 、停止 、削除 、トップ 、統計 )さらに、以下の例のように、その名前をアドレス指定するだけです。
#docker start ubuntu20.04#docker stats ubuntu20.04#docker top ubuntu20.04コンテナの作成に使用されたコマンドのプロセスが終了すると、上記のコマンドの一部が出力を表示しない場合があることに注意してください。コンテナ内で実行されるプロセスが終了すると、コンテナは停止します。
ステップ4:コンテナへのインタラクティブセッションの実行
18。 コンテナシェルセッションにインタラクティブに接続し、他のLinuxセッションと同じようにコマンドを実行するには、次のコマンドを発行します。
#docker run -it ubuntu bash![]()
上記のコマンドは次のように分けられます:
-i
インタラクティブセッションを開始するために使用されます。-t
TTYを割り当て、stdinとstdoutを接続します。ubuntu
コンテナの作成に使用した画像です。bash
(または / bin / bash )は、Ubuntuコンテナ内で実行しているコマンドです。19。 終了して実行中のコンテナセッションからホストに戻るには、
exit
と入力する必要があります 指図。 出口 コマンドはすべてのコンテナプロセスを終了し、停止します。#exit20。 コンテナターミナルプロンプトにインタラクティブにログオンしていて、コンテナを実行状態に保つ必要があるが、終了する必要がある場合 インタラクティブセッションから、終了できます コンソールを開き、
Ctrl+p
を押してホスト端末に戻ります。 およびCtrl+q
キー。![]()
21。 実行中のコンテナに再接続するには、コンテナの IDが必要です。 または名前 。
docker ps
を発行します IDを取得するコマンド または名前 次に、docker attach
を実行します コンテナIDを指定してコマンドを実行します または名前 、上の画像に示されているように:#docker attach22。 ホストセッションから実行中のコンテナを停止するには、次のコマンドを発行します。
#docker kill基本的なコンテナ操作は以上です。次のチュートリアルでは、WebサーバーをDockerコンテナーに保存、削除、および実行する方法について説明します。
Docker