UbuntuはリポジトリにDockerを提供しているため、UbuntuへのDockerのインストールは簡単です。ただし、DockerはCentOSのデフォルトリポジトリでは使用できません。
心配はいりません。CentOSLinuxシステムにDockerをインストールする方法は3つあります。
- dockerのリポジトリを使用する
- RPMのダウンロード
- ヘルパースクリプトの使用
ここでは、dockerのRPMリポジトリを使用したDockerCEのインストールプロセスについて説明します。
DockerCEはDockerCommunityEditionの略です。これは、Dockerの無料のオープンソースバージョンです。有料サポート付きのDockerEE(Enterprise Edition)があります。世界のほとんどでDockerCEが使用されており、Dockerの同義語と見なされることがよくあります。
CentOSへのDockerのインストール
先に進む前に、システムが更新されていることを確認してください。次を使用してCentOSを更新できます:
sudo dnf update
ステップ1:公式リポジトリを追加する
次のコマンドを使用して、Dockerの公式リポジトリを追加します
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
新しいリポジトリを追加した後も、パッケージキャッシュを更新する必要があります:
sudo dnf update
ステップ2:DockerCEをインストールする
カスタムリポジトリを使用する際の問題は、最新バージョンのdocker-ceをインストールしようとすると、依存関係の問題が発生する可能性があることです。
たとえば、次のコマンドでdocker-ceの使用可能なバージョンを確認すると、次のようになります。
dnf list docker-ce --showduplicates | sort -r
最新バージョンとしてdocker-ce-3:19.03.9-3.el7を入手しました。ただし、最新バージョンをインストールする際の問題は、containerd.ioバージョン>=1.2.2-3に依存することです。現在、このバージョンのcontainerd.ioはCentOS8では使用できません。
この依存関係のサイクルを回避し、手動でそれらと戦うために、--nobest
を使用できます。 dnfコマンドのオプション。
docker-ceの最新バージョンをチェックしますが、依存関係の問題が見つかると、次に利用可能なバージョンのdocker-ceをチェックします。基本的に、すべての依存関係が満たされている最適なパッケージバージョンを自動的にインストールするのに役立ちます。
CentOSにdockerをインストールするには 片頭痛を起こさずに、このコマンドを試して、端末画面で魔法が展開するのを確認してください:
sudo dnf install docker-ce --nobest
GPGキーをインポートするように求められます。キーが、060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
と一致することを確認してください。 'y'を入力する前。
containerd.ioは、コンテナーを管理するためのデーモンです。 DockerはLinuxコンテナーの1つの形式にすぎません。さまざまなタイプのコンテナイメージを移植可能にするために、OpenContainerInitiativeはいくつかの標準を定義しています。 containerdは、OCI標準に準拠するコンテナイメージを管理するために使用されます。
CentOSでのDockerのセットアップ
大丈夫! Dockerをインストールしましたが、まだ使用する準備ができていません。スムーズに使用するには、いくつかの基本的な構成を行う必要があります。
sudoなしでdockerを実行する
ユーザーをdocker
に追加することで、sudo権限なしでdockerを実行できます。 グループ。
Dockerグループはすでに存在している必要があります。次のコマンドを使用して確認してください:
awk -F: '/docker/ {print $1}' /etc/group
これで何も出力されない場合は、次のようにgroupaddコマンドを使用してDockerグループを作成します。
sudo groupadd docker
次に、ユーザーをdocker
に追加します usermodコマンドを使用したグループ化:
$ sudo usermod -aG docker user_name
上記のコマンドのuser_nameを目的のユーザー名に変更します。
次に、ログアウトしてから再度ログインし、グループの変更を有効にします。
Dockerがインストールされています。ユーザーがdocker
に追加されました グループ。しかし、Dockerを実行するにはまだ十分ではありません。
コンテナを実行する前に、dockerデーモンが実行されている必要があります。 Dockerデーモンは、すべてのコンテナー、ボリューム、ネットワークなどを管理するプログラムです。言い換えると、デーモンはすべての面倒な作業を行います。
次を使用してDockerデーモンを起動します:
sudo systemctl start docker
Dockerデーモンが起動時に自動的に起動するようにすることもできます:
sudo systemctl enable --now docker
すべてが行われます。 Dockerコンテナーを実行して、インストールが成功したかどうかをテストするときが来ました。
確認するために、clichéhello-worlddockerコンテナーを実行できます。これは小さなDockerイメージであり、Dockerのインストールをすばやくテストするのに最適です。
docker run hello-world
すべてが正常であれば、次のような出力が表示されます。
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
コマンドが内部で実行していることは次のとおりです。
- dockerクライアント、つまり使用したコマンドラインツールがdockerデーモンに接続しました。
- デーモンは、ローカルシステムでhello-worlddockerイメージを探しました。イメージが見つからないため、DockerHubからプルします。
- エンジンは、クライアントのコマンドラインオプションで指定したすべてのオプションを使用してコンテナを作成します。
このhello-worldイメージは、Dockerのインストールをテストするためだけに使用されます。より便利なコンテナが必要な場合は、次のようなコンテナでNginxサーバーを実行してみてください。
docker run --rm --name nginx -p 56788:80 -d nginx:latest
コマンドの実行が完了したら、ブラウザを開いてhttp:// your_ip_address:56788にアクセスします。 Linuxで自分のIPアドレスを知る方法を知っているといいのですが。
nginxサーバーが実行されていることを確認する必要があります。これでコンテナを停止できます。
docker stop nginx
このチュートリアルがCentOSにdockerをインストールするのに役立つことを願っています。 DockerチュートリアルとDevOpsのヒントをさらに購読してください。