GNU/Linux >> Linux の 問題 >  >> Cent OS

Rocky Linux /Centos8でdockerをインストールして構成する方法

Dockerは、OSレベルの仮想化を使用して、コンテナーと呼ばれるパッケージでソフトウェアを配信するサービス製品としてのプラットフォームのセットです。コンテナは互いに分離されており、独自のソフトウェア、ライブラリ、および構成ファイルをバンドルしています。それらは、明確に定義されたチャネルを介して相互に通信できます。

このガイドでは、Rocky Linux /Centos8にdockerをインストールするためのさまざまなオプションについて説明します

また、チェックしてください

  • OpenSUSELeap15でdockerをインストールして構成する方法
  • SUSELinuxEnterpriseでdockerをインストールして設定する方法
  • Fedora34/35でdockerをインストールして設定する方法
  • Ubuntu20.04にDockerをインストールして使用する方法
  • Debian11にdockerをインストールして設定する方法
  • Dockerの使用を開始する例を使用して作成する
  • ビルドエージェントとしてのDocker–DockerでJenkinsビルドを実行する

前提条件

Docker Engineをインストールするには、次のものが必要です

  • Rocky Linux / Centos /RHEL8ベースのサーバーを更新
  • インターネット接続
  • Linuxターミナルの基本的な知識
  • centos-extras リポジトリを有効にする必要があります。デフォルトで有効になっているはずです

目次

  • システムパッケージを更新する
  • 古いバージョンをアンインストールする
  • dockerのインストール
  • Dockerの起動と有効化
  • Dockerのアンインストール

システムパッケージの更新

先に進む前に、システムが最新であることを確認しましょう。このコマンドを使用して、システムとすべてのパッケージを更新します

$ sudo dnf -y update
Last metadata expiration check: 2:18:21 ago on Thu 14 Oct 2021 05:52:52 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!

古いバージョンをアンインストールする

古いバージョンのDockerがシステムにインストールされている場合は、関連する依存関係とともにそれらをアンインストールします。

sudo dnf remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

dockerのインストール

Centos8にDockerをインストールする方法は複数あります。次のことができます。

  • Dockerリポジトリを設定します。一度設定すればDockerをアップグレードすることもできるので、これをお勧めします
  • rpmをダウンロードして手動でインストールする
  • 自動化されたコンビニエンススクリプトを選択してDockerをインストールできます

リポジトリを使用してインストール

Dockerパッケージは、デフォルトのCentos8リポジトリにはありません。新しいシステムにdockerをインストールするときは、Dockerリポジトリを設定する必要があります。

yum-utilsをインストールします パッケージ(yum-config-managerを提供します ユーティリティ)、安定したを設定します リポジトリ。

sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

最新バージョンをインストールするには Docker Engineとcontainerdの例:

sudo dnf install docker-ce docker-ce-cli containerd.io -y

このコマンドはDockerをインストールしますが、Dockerを起動しません。また、dockerも作成します ただし、デフォルトではグループにユーザーは追加されません。

特定のバージョンをインストールするには Docker Engineの場合、リポジトリで使用可能なバージョンを一覧表示し、次を選択してインストールします。

a。リポジトリで利用可能なバージョンを一覧表示して並べ替えます。この例では、結果をバージョン番号の高いものから低いものの順に並べ替え、切り捨てられます。

$ sudo dnf list docker-ce --showduplicates | sort -r
Installed Packages
docker-ce.x86_64               3:20.10.9-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.9-3.el8                 @docker-ce-stable
docker-ce.x86_64               3:20.10.8-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.7-3.el8                 docker-ce-stable
Available Packages

上記のコマンドは、有効になっているリポジトリに基づいてパッケージを一覧表示します。

パッケージ名(docker-ce)である完全修飾パッケージ名で特定のバージョンをインストールします )に加えて、最初のコロン(:)で始まるバージョン文字列(2列目) )、ハイフンで区切られた最初のハイフンまで(- )。例:3:20.10.7

sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

パッケージを使用してインストール

何らかの理由でDockerのリポジトリをインストールに使用できない場合は、rpmパッケージをダウンロードして手動でインストールできます。

https://download.docker.com/linux/centos/にアクセスして、CentOSのバージョンを選択します。次に、x86_64/stable/Packages/に移動します .rpmをダウンロードします インストールするDockerバージョンのファイル

Docker Engineをインストールし、以下のパスをDockerパッケージをダウンロードしたパスに変更します。

sudo yum install /path/to/package.rpm

Dockerはインストールされていますが、起動されていません。 docker グループは作成されますが、ユーザーはグループに追加されません。

コンビニエンススクリプトを使用してインストール

Dockerは、get.docker.comで便利なスクリプトを提供して、Dockerを開発環境にすばやく非対話的にインストールします。コンビニエンススクリプトは実稼働環境には推奨されませんが、ニーズに合わせたプロビジョニングスクリプトを作成するための例として使用できます。

スクリプトにはrootが必要です またはsudo 実行する特権。このスクリプトは、Linuxディストリビューションとバージョンを検出し、パッケージ管理システムを構成しようとしますが、ほとんどのインストールパラメーターをカスタマイズすることはできません。スクリプトは、確認を求めずに依存関係と推奨事項をインストールします。デフォルトでは、スクリプトはDocker、containerd、runcの最新の安定したリリースをインストールします。

DRY_RUN=1を使用してスクリプトを実行できます インストール中にスクリプトが実行する手順を確認するオプション:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ DRY_RUN=1 sh ./get-docker.sh

これにより、get.docker.comからスクリプトがダウンロードされ、実行されてLinuxにDockerの最新の安定したリリースがインストールされます。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

dockerの起動と有効化

RPMについて CentOS、Fedora、RHEL、SLESなどのベースのディストリビューションでは、適切なsystemctlまたはserviceコマンドを使用して手動で開始する必要があります。 root以外のユーザーは、デフォルトではDockerコマンドを実行できません。

このコマンドを使用してdockerを起動します

sudo systemctl start docker

statusコマンドを発行して、dockerが実行されていることを確認します

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-10-15 03:58:33 UTC; 20s ago
     Docs: https://docs.docker.com
 Main PID: 1462739 (dockerd)
    Tasks: 8
   Memory: 127.2M
   CGroup: /system.slice/docker.service
           └─1462739 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 15 03:58:33 test-db-server dockerd[1462739]: time="2021-10-15T03:58:33.127140137Z" level=error m>
Oct 15 03:58:33 test-db-server dockerd[1462739]: time="2021-10-15T03:58:33.152784201Z" level=warning>

起動時にDockerを有効にするには、次のコマンドを使用します:

sudo systemctl enable docker

Dockerは、rootを使用しないユーザー、またはsudoがないと機能しません。試行すると、以下のエラーが発生します。

$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Sudoなしでdockerを使用するには、現在のユーザーをdockerグループに追加してから、再ログインします。

ユーザーをDockerグループに追加します:

$ sudo usermod -aG docker ${USER}

次に、ユーザーとして再ログインします

$ sudo su - ${USER}

次に、Dockerに参加していることを確認します

$ id
uid=1000(centos) gid=1000(centos) groups=1000(centos),4(adm),190(systemd-journal),985(docker) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

これで、docker runを発行することで、すべてが機能していることを確認できます。 hello-worldのコマンド 画像:

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

Dockerのアンインストール

システムにDockerが不要になった場合は、これらのコマンドを使用してDockerをアンインストールします

sudo dnf remove docker-ce docker-ce-cli containerd.io
  1. ホスト上のイメージ、コンテナ、ボリューム、またはカスタマイズされた構成ファイルは自動的に削除されません。すべてのイメージ、コンテナ、およびボリュームを削除するには:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

編集した構成ファイルは手動で削除する必要があります。

結論

リポジトリを使用するか、rpmをダウンロードしてからインストールするか、便利なスクリプトを使用して、centosシステムにdockerをインストールすることができました。


Cent OS
  1. Rocky Linux /Centos8にRedis6をインストールして構成する方法

  2. Rocky Linux /CentOS8にAnsibleをインストールして構成する方法

  3. Rocky Linux / Alma Linux /CentOS8にErlangをインストールする方法

  1. Rocky Linux / Alma Linux /Centos8にPodmanをインストールして使用する方法

  2. RockyLinux8にElasticsearchをインストールして設定する方法

  3. RockyLinux8およびCentOS8にMonoをインストールして構成する方法

  1. RHEL 8 / CentOS8LinuxシステムにRをインストールして構成する方法

  2. DockerとDockerをインストールする方法-RockyLinux8で作成する

  3. CentOS8にDockerSwarmクラスターをインストールして構成する方法