Dockerは、最近広く普及しているコンテナー仮想化テクノロジーです。これは、アプリケーションをデプロイするためのより効率的な方法を提供します。 Dockerを使用すると、アプリケーションはLinuxオペレーティングシステム上のコンテナ内に常駐します。
Dockerは、cgroupsや名前空間などのカーネル機能を使用して、独立したコンテナーを単一のOSインスタンスで実行できるようにします。
この投稿では、CentOS 7 /RHEL7にDockerをインストールする方法を学習します。
Dockerをインストールする
CentOS7にDockerをインストールする方法のいずれかを選択します。
- Dockerからインストール(公式)
- ベースリポジトリからインストール
Dockerからインストール(公式)
Dockerは2つのエディションで利用できるようになりました
- Community Edition(CE)
- Enterprise Edition(EE)
ここでは、Docker Comunity Edition(CE)をインストールします。
dockerまたはdocker-engineという名前の古いバージョンのDockerと、関連する依存関係をアンインストールします。
yum -y remove docker-common docker container-selinux docker-selinux docker-engine
/ var / lib /docker/内の内容について心配する必要はありません。すべてが保持されます。
次に、必要なパッケージをインストールします。yum -y install lvm2 device-mapper device-mapper-persistent-data device-mapper-event device-mapper-libs device-mapper-event-libs
DockerComunityパッケージはdocker-ceと呼ばれるようになりました。 DockerをインストールするためのCEリポジトリを追加しましょう。
yum -y install wget wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
次のコマンドを使用して、最新バージョンのDockerCEをインストールします。
yum -y install docker-ceDockerの特定のバージョンをインストールしたい場合は、docker-ce- [version]
のようなバージョンを追加することでインストールできます。例:yum install docker-ce-19.03.0-3.el7
You yum list docker-ce –showduplicates|で利用可能なDockerバージョンを一覧表示できます。並べ替え-r
DockerはCentOSの標準リポジトリで利用できるため、パッケージを検索する必要はありません。
RHEL 7の場合、サーバーでExtras rpmのリポジトリを有効にするには、有効なRedhatサブスクリプションが必要です。次のコマンドを使用してインストールします。
yum -y install docker
これでDockerがマシンにインストールされました。インストール後に自動的に開始されない場合に備えて、Dockerサービスを開始してください
systemctl start docker systemctl enable docker
Dockerのインストールを確認する
サービスが開始されたら、次のコマンドを実行してインストールを確認します。
docker run -it centos echo Hello-World
dockerrunコマンドを実行するとどうなるか見てみましょう。このcentosコンテナを初めて実行するため、Dockerはcentosベースイメージでコンテナを起動します。出力は次のようになります。
Unable to find image 'centos:latest' locally latest: Pulling from library/centos 8ba884070f61: Pull complete Digest: sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c Status: Downloaded newer image for centos:latest Hello-World
Dockerはcentosイメージをローカルで検索しますが、見つかりません。Dockerレジストリからcentosイメージのダウンロードを開始します。画像がダウンロードされると、コンテナが起動し、出力の最後に表示されるコンソールにコマンドHello-Worldがエコーされます。
root以外のアクセスを許可する
私のコマンドでわかるように、CentOSの場合、rootユーザーとしてDockerを実行する必要がありました。これを回避するには、以下の手順に従って、root以外のユーザーがDockerコンテナを実行できるようにします。
dockerというグループが存在しない場合は作成し、root権限で次のコマンドを実行します。
groupadd docker
Dockerグループの一部となるユーザーを追加します。 rajを自分のユーザー名に置き換えます。
useradd raj
Dockerグループにユーザーを追加します。
usermod -aG docker raj
これで、root以外のユーザーでDockerを実行できます。
FirewallD
CentOS7のFirwallDはDockerと競合する可能性があります。サービスを無効にすることをお勧めします。
systemctl stop firewalld systemctl disable firewalld
Firewalldを起動または再起動すると、Dockerチェーンがiptablesから削除され、Dockerが正しく機能しなくなります。
それでもsystemdを使用する場合は、Dockerサービスの前にfirewalldを開始する必要があります。 Dockerの後にfirewalldを起動または再起動する場合は、Dockerデーモンを再起動する必要があります。
興味深いトピック
Dockerの基本トピック
1:重要なDockerコマンド–Dockerコンテナの操作
2:Dockerイメージの操作–Dockerイメージの構築
3:DockerFileを使用してDockerイメージを構築する方法
Dockerの高度なトピック
1:CentOS7でDockerプライベートレジストリを設定する方法
2:CentOS7にDockerSwarmをインストールして構成する方法
結論
それで全部です。コメントセクションでフィードバックを共有してください。