すべてのファイルを入れることができるボックスを想像してみてください。そうすれば、整合性が維持されます。これはDockerが行うことであり、オンプレミスまたはクラウドでホストされているアプリケーションのコンテナーを簡単に管理する方法を提供します。
このツールのさらに優れている点:無料(はい、本当に)であるだけでなく、オープンソースであるため、最近のほとんどの大企業のようにサブスクリプションを支払った人だけでなく、誰もがこのツールを使用できるというメリットがあります。
Dockerを使用すると、アプリケーションをコンテナーに入れて出荷し、環境を保護することができます。また、これらの厄介な更新がすべてアプリケーションを壊さないようにすることもできます。すべてが自己完結型であるため、はるかに小さなサーバーにアクセスして帯域幅を減らすことができます。
Dockerチームは、このツールにしばらくの間非常に熱心に取り組んできました。そして、非常に優れた便利な製品を作成することに成功しました。しばらくの間Linuxに取り組んできた、またはLinuxを使用してきた人は、これがどれほど素晴らしいかを理解できます。最終的には、機能するITツールです。
Dockerは、WordPress、Spotify、Redditなどの大企業ですでに使用されています。コミュニティが私たち全員に利益をもたらす可能性のあるものを使用しているのを見るのは素晴らしいことです。
この記事では、コマンドラインからRockyLinuxシステムにDockerCEをインストールする方法を紹介します。さらに、これらの手順はREHLおよびCentOS8にも適用できます。
前提条件
インストールにはsudo権限が必要です。
ステップ1:RockyLinux8システムを更新する
いつものように、新しいものをインストールする前に、システムを更新/アップグレードする必要があります。この更新により、古い依存関係に起因する可能性のあるエラーも防止されます。
sudo dnf -y update
カーネル関連のアップデートがある場合は、システムを再起動することが不可欠です。
sudo reboot now
ステップ2:Dockerリポジトリを追加する
AlamLinux 8には、公式のDocker CEリポジトリを追加できる単一のコマンドがあるため、Dockerのインストールがはるかに簡単になります。
まず、yum-utilsユーティリティをインストールします
sudo dnf -y install yum-utils
次に、このコマンドを使用してDockerリポジトリを追加します。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
ステップ3:DockerCEのインストール
これで、リポジトリがシステムに追加されたので、DockerCEをインストールする準備が整いました。
新しく追加されたリポジトリを更新し、docker-ceパッケージをインストールします。
sudo dnf -y update
sudo dnf -y install docker-ce docker-ce-cli containerd.io
上記のコマンドはDockerをインストールしますが、コンピューターを再起動したときにDockerを起動することはできません。これを行うには、次のコマンドを使用して、コンピューターの起動時にDockerサービスを自動的に開始します。
sudo systemctl enable --now docker
システムを再起動すると、Linuxサーバーの起動時にDockerが実行されていることがわかります。
Dockerサービスが実行されていることを確認するには、次のようにsystemctlコマンドを使用できます。
sudo systemctl status docker
次のようなものが返されるはずです:
qを押して終了し、コマンドプロンプトに戻ります。
Dockerサービスが開始および実行されていない場合は、startサブコマンドを使用して開始します。
sudo systemctl start docker
ステップ4:新しいユーザーの追加
インストールが完了したら、Dockerを使用する場合は、rootユーザーとして実行する必要があります。この問題を解決するには、ユーザーにDockerグループへのアクセスを許可します。これで、通常のユーザーとしてコンテナーを実行できるようになりました。
これを行うには、通常のユーザーを「docker」グループに追加する必要があります。これは、コマンドusermodを使用して実行されます。この例では、次のようにusermodコマンドを使用してvituxユーザーを追加します。
sudo usermod -aG docker vitux
Dockerグループに別のユーザーを追加する場合は、「vitux」をそのユーザー名に置き換えます。次に、ログアウトして再度ログインし、Dockerグループのメンバーシップをアクティブにします。
Dockerグループに新しいユーザーを追加しました。次のコマンドで確認できます:
sudo id vitux
ステップ5:Dockerコマンドを使用する
現在、13個の管理コマンドと41個の一般コマンドに加えて、いくつかのユーティリティコマンドを使用できます。
これらのコマンドのほとんどは、他のLinuxディストリビューションと同じ構文です。
dockerコマンドは、一連の関数とオプションおよび引数で構成されています。
docker [option] [command] [arguments]
使用可能なすべてのオプションとコマンドを表示するには、次のように入力します。
docker
次のコマンドを使用して、システム全体のDockerについて詳しく学びます。
docker info
ステップ6:RockyLinux8でのDockerのテスト
Dockerをテストするために、非常に簡単なタスクを実行します。 hello-worldイメージをプルしたいと思います。この画像は非常に人気があり、Docker画像についてのアイデアを提供します。このタスクを実行するのは本当に簡単です。次のように入力するだけです。
docker run hello-world
このコマンドは、コンピューター上のhello-worldイメージを検索します。見つからない場合、コマンドはDocker Hubからhello-worldイメージをプルし、自動的に実行します。その後、DockerからのHelloが表示されます。画面にメッセージが表示されます。このメッセージは、インストールが正常に実行されていることを確認します。
ステップ7:Dockerイメージの操作
コンテナは、実行可能なイメージのバージョンです。 Dockerは、デフォルトでDockerHubからこれらのイメージを取得します。DockerHubは、Dockerを作成した組織によって維持されているリポジトリです。誰でも自分の写真をこのサイトに載せることができます。エミュレーションを使用してホストコンピューター(WindowsまたはLinuxのコピー)でオペレーティングシステムを実行する仮想マシンとは異なり、コンテナーはホストコンピューターの単一のオペレーティングシステム内で完全に実行されます。
Docker Hubの検索機能を使用して、画像を検索できます。画像を見つけるには、次のコマンドを実行します:
docker search imagename
この場合、Ubuntuイメージを探します。
docker search ubuntu
以下に示すように、DockerHubサーバーには多くのイメージがあります。
OKという単語の場合 公式に表示されます 列には、イメージが作成され、プロジェクトの背後にあるビジネスによってサポートされていることを示します。使用する画像を見つけたら、pullサブコマンドを使用してプロジェクトの画像をダウンロードできます。この例では、Ubuntuオペレーティングシステムイメージを使用します。
docker pull ubuntu
次のような出力が返されるはずです:
サーバー上にある画像を表示するには、次のように入力します。
docker images
次のような出力が返されるはずです:
イメージを変更して、新しいイメージを作成するために使用できます。必要なときにイメージ全体をダウンロードする必要がないため、これはコンテナを操作するための非常に効率的な方法です。
イメージを変更したり、何かを変更したり、コードを追加したりして、これを新しいイメージとして保存し、友達や、Docker Hubやその他のDockerレジストリにアップロードして、この新しいイメージが必要な人と共有するのは非常に簡単です。
ステップ8:Dockerコンテナを実行する
前の手順のhello-worldコンテナーは、実行され、DockerからHelloを発行してから停止するコンテナーの例です。ただし、コンテナは、1つのことを実行して停止するだけではなく、便利な場合があります。
また、実行を継続し、ポートでリッスンし、実行したいことを実行するコンテナーを実行することもできます。これを試すために、Ubuntuイメージを使用してコンテナを実行します。
docker run -it ubuntu
-iオプションと-tオプションの組み合わせは、Dockerにコンテナーを作成し、それにインタラクティブなコンソールを提供するように指示します。複雑に聞こえますが、そうではありません。
コンテナを初めて起動するときは、bashから送信されたシグナルを確認できるように、コンテナを起動するプロセスをアタッチする必要があります。 -tオプションは、どのttyを開くかをDockerに指示します。コンテナが起動すると、-iオプションは、次のようなインタラクティブなコンソールを取得することを意味します。
これで、コンテナ内で任意のコマンドを入力できます。コンテナ内のパッケージのリストを更新するとします。このコンテナのrootユーザーとしてコマンドの実行を担当しているため、各コマンドの前にsudoを入力する必要はありません。
apt update
コンテナは事実上それ自体がマイクロサービスであり、独自の制限があります。コンテナ内で行った変更は、その特定のコンテナにのみ適用されます。
コンテナシェルを終了するには、プロンプトでexitと入力し、 Enterを押します。 キー。
結論
このチュートリアルでは、Dockerを使用していくつかの基本的なことを行う方法を学びました。 Docker Hubでイメージを検索し、まだコンピューターにない場合はそのうちの1つをプルダウンする方法を知っています。
コンテナを実行する方法を知っていて、そのコンテナでコマンドを発行します。コンテナは、プロセスを分離して実行するのに非常に役立つことがわかりました。
このチュートリアルは非常に単純でしたが、Dockerが多くの複雑さを隠しているためです。チュートリアルの最後に、インタラクティブコンテナを実行し、内部で何が起こっているかを十分に理解して、アプリを内部に入れてコンテナを実行してみることができるはずです。