GNU/Linux >> Linux の 問題 >  >> Fedora

DockerをFedoraLinuxシステムにインストールする方法

Dockerは、コンテナー内でソフトウェアを実行するために使用されるツールです。含まれているソフトウェアはどのシステムでも同じように実行される必要があるため、開発者とユーザーがオペレーティングシステムとの互換性や依存関係について心配する必要がない優れた方法です。

Dockerは、Fedoraおよび他のほとんどのLinuxディストリビューションにダウンロードしてインストールできます。ただし、Red HatはディストリビューションでDockerのネイティブサポートを提供していないため、Fedoraにインストールするのは少し難しい場合があります。代わりに、RedHatはDockerの代わりとなるPodmanのサポートを推進しています。これにより、Dockerのインストールが少し難しくなりますが、Fedoraでは引き続き可能です。

このガイドでは、DockerをFedoraにインストールする方法と、コンテナー化されたソフトウェアのインストールを開始する方法を示します。 Dockerをインストールしたら、ディストリビューションのパッケージマネージャーを使用してアプリをダウンロードするのとほぼ同じ方法でDockerを使用してソフトウェアパッケージをインストールできます。 Dockerを使用することの違いは、すべてがより自動化され、互換性と依存関係が潜在的な問題ではなくなったことです。

このチュートリアルでは、次のことを学びます。

  • Dockerのインストール方法
  • Dockerを起動し、起動時に自動的に実行する方法
  • rootなしでDockerを実行する方法
  • Dockerイメージを検索する方法
  • Dockerイメージをインストールする方法
  • Dockerイメージを実行する方法
  • さまざまなコマンドを使用してDockerを監視する方法
  • Dockerコンテナを自動的に起動する方法

FedoraLinuxでコンテナイメージを実行しているDocker

ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
システム Fedora Linux
ソフトウェア Docker
その他 rootまたはsudoを介したLinuxシステムへの特権アクセス コマンド。
コンベンション –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

FedoraにDockerをインストールする

Red Hatはいくつかの障害を抱えているため、単純なdnf installでDockerをインストールすることはできません。 指図。最初にDockerリポジトリをシステムに追加してから、Fedoraにデフォルトでインストールされているいくつかの競合するパッケージをアンインストールする必要があります。

  1. dnf-plugins-coreをインストールすることから始めます パッケージがまだシステムにない場合に備えて。これにより、dnfリポジトリを管理し、公式のDockerリポジトリを追加できるようになります。
    $ sudo dnf -y install dnf-plugins-core
    
  2. 次に、次のコマンドを使用してDockerリポジトリをシステムに追加します。
    $ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
    
  3. Dockerのインストールを開始する前に、podmanを削除する必要があります およびbuildah Dockerと競合し、インストールが禁止されるため、システムからのパッケージ。
    $ sudo dnf remove podman buildah
    
  4. 最後に、次のコマンドを実行して、必要な3つのDockerパッケージをインストールできます。
    $ sudo dnf install docker-ce docker-ce-cli containerd.io
    
  5. インストールが完了したら、Dockerサービスを開始し、オプションで、システムが再起動されるたびに実行できるようにします。
    $ sudo systemctl start docker.service
    $ sudo systemctl start containerd.service
    $ sudo systemctl enable docker.service
    $ sudo systemctl enable containerd.service
    
  6. 次のコマンドを入力して、Dockerがインストールされていることを確認し、現在のバージョンに関する情報を収集できます。
    $ sudo docker version
    
  7. dockerversionコマンドの出力

  8. 次のように入力することで、現在実行されているDockerコンテナの数を確認し、Dockerの構成済みオプションの一部をすばやく簡単に確認する方法もあります。
    $ sudo docker info
    
  9. 構成を示すdockerinfoコマンドの出力

rootなしでDockerを実行する

デフォルトでは、sudoを使用する必要があります または、Dockerコマンドを実行するときはいつでもrootにログインします。この次の手順はオプションですが、現在のユーザーとしてDockerを実行する機能が必要な場合は、次のコマンドを使用してアカウントをdockerグループに追加します。

$ sudo usermod -aG docker $USER

これらの変更を有効にするには、システムを再起動する必要があります。

$ reboot

Dockerイメージの検索

これで、Dockerを使用してイメージをインストールする準備が整いました。インストールするイメージの名前がす​​でにわかっている場合は、次のセクションに進むことができます。 Dockerを介して目的のソフトウェアを検索する必要がある場合は、次のコマンド構文を使用できます。

$ docker search [name]

たとえば、人気のあるWebサーバーソフトウェアであるnginxを検索してみましょう。

$ docker search nginx

Dockerは、利用可能なコンテナイメージを検索できます

ご覧のとおり、nginxの公式画像が1つあります(OFFICIALで示されます)。 列)単にnginxと呼ばれます 。他にも利用可能なリリースがあり、それらの説明を読んで、公式イメージとの違いを確認する必要があります。

Dockerイメージをインストールする

インストールするイメージが決まったら、次のコマンドを使用して、目的のソフトウェアをダウンロードするようにDockerに指示できます。例として、hello-worldをインストールします Dockerがイメージを正常にダウンロードして実行できるようにするために使用できるパッケージ。

$ docker pull hello-world

Dockerがコンテナーイメージをダウンロードする

上のスクリーンショットの出力は、Dockerが指定したイメージを見つけてダウンロードできたことを示しています。

Dockerイメージの実行

イメージがダウンロードされたので、次のコマンドを使用してイメージを実行します。

$ docker run hello-world

Dockerはhello-worldイメージを正常に実行できました

Dockerの監視

Dockerには、イメージで何が起こっているか、イメージが使用しているシステムリソースの数などを確認するための多くのオプションがあります。次のコマンドは、Dockerとインストールされているイメージを監視するのに役立ちます。

実行中のDockerコンテナを確認し、現在のステータスを確認するには、次のように入力します。

$ docker container ls

docker container lsコマンドは、現在実行中のコンテナーを表示します

インストールされているすべてのDockerイメージのリストを表示するには、次のように入力します。

$ docker images

docker imagesコマンドは、Dockerに現在インストールされているイメージを表示します

実行中のイメージの現在のCPU、RAM、およびネットワーク使用量を確認するには、次のように入力します。

$ docker stats

dockerstatsコマンドでDockerイメージの現在のシステム使用状況を確認する

Dockerのネットワーク構成を確認するには、次のように入力します。

$ docker network ls

Dockerネットワークlsを使用してDockerで現在構成されているネットワークを参照してください

コンテナを自動的に起動します

コンピューターの起動時にDockerサービスが自動的に開始されるようにする方法を見てきました。その手順をスキップした場合は、ここにもう一度コマンドがあります。

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

Dockerサービスを制御して、自動的に開始することもできます。これらの動作を制御するためのいくつかのコマンドを次に示します。 nginxを使用します これらのコマンドのサンプルソフトウェアとして。

  1. 新しいコンテナを起動し、停止またはDockerが再起動しない限り自動的に再起動するように設定するには、次のコマンドを実行します。
    $ docker run -d --restart unless-stopped nginx
    
  2. コンテナがすでに実行されている場合は、このコマンドを使用して、コンテナが自動的に再起動することを確認します。
    $ docker update --restart unless-stopped nginx
    
  3. 次のコマンドを使用して、明示的に停止しない限り、すべてのコンテナーが自動的に再起動されるようにすることもできます。
    $ docker update --restart unless-stopped $(docker ps -q)
    
  4. 手動で停止した場合でも、コンテナを常に再起動するには、alwaysを使用します unless stoppedの代わりにオプション 。
    $ docker update --restart always nginx
    
  5. on-failureを使用することもできます エラーが発生した場合にのみコンテナの自動再起動を許可するオプション。
    $ docker update --restart on-failure nginx
    
  6. 最後に、コンテナをデフォルト設定に戻すように構成します。つまり、自動再起動は行われません。noを使用します。 オプション。
    $ docker update --restart no nginx
    

トラブルシューティング

パーミッションエラーや「Dockerデーモンに接続できません」など、Dockerで問題が発生した場合、Docker開発者は、多数の一般的な問題をチェックするために実行できる便利なスクリプトを用意しています。ダウンロードして実行する方法は次のとおりです。

$ curl https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh > check-config.sh
$ bash ./check-config.sh

Docker check-configスクリプトを実行すると、システムで何かが正しく構成されていないかどうかがわかります

まとめ

RHEL、ひいてはFedoraはDockerをネイティブにサポートしていませんが、このガイドで説明したように、Dockerを起動して実行することは可能です。 podmanやbuildahなどのRHELネイティブツールはDockerと互換性がありますが、実行するためにサーバー/クライアントアーキテクチャは必要ありません。可能な場合はネイティブツールを使用することを常にお勧めしますが、何らかの理由で元のDockerをインストールすることをお勧めします。


Fedora
  1. RockyLinux8にDockerをインストールする方法

  2. FedoraLinuxにVLCをインストールする方法

  3. FedoraLinux35にZoomをインストールする方法

  1. DockerをFedora28/Fedora27にインストールする方法

  2. FedoraLinuxにPostgreSQL14をインストールする方法

  3. LinuxKernel5.17をFedoraLinux35にインストールします

  1. Fedora36LinuxにTelegramをインストールする方法

  2. Fedora36LinuxにTelnetをインストールする方法

  3. Fedora36LinuxにDiscordをインストールする方法