まず、CentOSのバージョンが7.xであることを確認します。 centos-extras
リポジトリを有効にする必要があります。このリポジトリはデフォルトで有効になっていますが、無効になっている場合は、再度有効にする必要があります。 Dockerは、エンタープライズエディションとコミュニティエディションに分かれています。エンタープライズエディションは有料です。この記事では、コミュニティエディションのインストールについて説明します。
古いバージョンのDockerは、 docker
または docker-engine
と呼ばれます。これらがインストールされている場合は、それらとそれに関連する依存関係をアンインストールしてください。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
Docker CEは、必要に応じてさまざまな方法でインストールできます。
Docker CEを新しいホストに初めてインストールする前に、Dockerリポジトリを設定する必要があります。その後、リポジトリからDockerをインストールして更新できます。
yum-utils
は yum-config-manager
ユーティリティを提供し、 device-mapper-persistent-data
と lvm2
は devicemapper
ストレージドライバーを必要とします。sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
- - add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
--disable
フラグを指定して yum-config-manager
コマンドを実行することにより、エッジまたはテストライブラリを無効にできます。再度有効にするには、 --enable
フラグを使用します。次のコマンドは、エッジリポジトリを無効にします。
sudo yum-config-manager --disable docker-ce-edge
Docker 17.06以降、安定版もエッジおよびテストリポジトリにプッシュされました
sudo yum install docker-ce
警告:複数のDockerリポジトリが有効になっている場合、
yuminstall
またはyum update
コマンドでバージョンをインストールまたは更新しないと、常に可能な限り最高のバージョンがインストールされ、安定性のニーズに合わない可能性があります。
最近追加されたリポジトリからパッケージを初めてインストールする場合は、GPGキーを受け入れ、キーのフィンガープリントを表示するように求められます。指紋が正しいことを確認し、正しい場合はキーを受け入れます。指紋は一致する必要があります
060 A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Dockerはインストールされていますが、起動されていません。 Dockerグループが作成されましたが、ユーザーはグループに追加されていません。
-r
コマンドを使用して結果を並べ替えます。バージョン番号は最高から最低までで、切り捨てられます。yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 17.09.ce-1.el7.centos docker-ce-stable
リストの内容は、有効になっているリポジトリによって異なり、CentOSバージョン(この例では、バージョンの.el7サフィックスで示されます)に固有です。インストールする特定のバージョンを選択します。 2番目の列はバージョン文字列です。バージョン文字列全体を使用できますが、少なくとも最初のハイフンを含める必要があります。 3番目の列はリポジトリ名で、パッケージのリポジトリとその安定性レベルを示します。特定のバージョンをインストールするには、バージョン文字列をパッケージ名に追加し、ハイフン(-)で区切ります。
バージョン文字列は、パッケージ名に最初のハイフンまでのバージョンを加えたものです。上記の例では、完全修飾パッケージ名は
docker-ce-17.09.ce
です。
sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
sudo systemctl start docker
sudo docker run hello-world
このコマンドは、hello-worldイメージをダウンロードし、コンテナーで実行します。コンテナの実行中は、情報メッセージを出力して終了します。
Docker CEがインストールされ、実行されています。 Dockerコマンドを実行するには、 sudo
を使用する必要があります。 Linuxのインストールを続行した後、非特権ユーザーがDockerコマンドおよびその他のオプションの構成手順を実行できるようにします。
Docker CEをアップグレードするには、インストール手順に従い、インストールする新しいバージョンを選択します。
Dockerのリポジトリを使用してDockerをインストールできない場合は、ご使用のバージョンの .rpm
ファイルをダウンロードして、手動でインストールできます。 Dockerをアップグレードするたびに、新しいファイルをダウンロードする必要があります。
1 https:// download.docker.com / linux / centos / 7 / x86_64 / stable / Packages /
にアクセスし、インストールするDockerバージョンの.rpmファイルをダウンロードします。
エッジパッケージをインストールするには、上記のURLの安定版をエッジに変更します。
sudo yum install /path/to/package.rpm
Dockerはインストールされていますが、起動されていません。 Dockerグループが作成されましたが、ユーザーはグループに追加されていません。
sudo systemctl start docker
sudo docker run hello-world
このコマンドは、hello-worldイメージをダウンロードし、コンテナーで実行します。コンテナの実行中は、情報メッセージを出力して終了します。
Docker CEがインストールされ、実行されています。 Dockerコマンドを実行するには、sudoを使用する必要があります。 Linuxのインストール後の手順に進んで、非特権ユーザーがDockerコマンドやその他のオプションの構成手順を実行できるようにします。
Docker CEをアップグレードするには、新しいパッケージファイルをダウンロードしてインストールプロセスを繰り返し、yum -yinstallの代わりにyum-y upgradeを使用して、新しいファイルをポイントします。
Dockerは、 get.docker.com
とtest.docker.com
に便利なスクリプトを提供して、安定したテストバージョンのDockerCEを開発環境に迅速かつ非対話的にインストールします。スクリプトのソースコードは、docker-installリポジトリにあります。これらのスクリプトを実稼働環境で使用することはお勧めしません。これらのスクリプトを使用する前に、潜在的なリスクを理解する必要があります。
この例では、 get.docker.com
のスクリプトを使用して、最新のDockerCEバージョンをLinuxにインストールします。最新のテストバージョンをインストールするには、代わりに test.docker.com
を使用してください。次の各コマンドで、出現する各 get
を test
に置き換えます。
警告:ローカルで実行する前に、インターネットからダウンロードしたスクリプトを常に確認してください。
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
< output truncated>
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back inforthis to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
for more information.
DockerCEがインストールされました。 DEBベースのディストリビューションで自動的に開始されます。 RPMベースのディストリビューションでは、適切な systemctl
または service
コマンドを使用して手動で開始する必要があります。このメッセージは、root以外のユーザーがデフォルトでDockerコマンドを実行できないことを示しています。
便利なスクリプトを使用してDockerをインストールする場合は、パッケージマネージャーを使用してDockerを直接アップグレードする必要があります。コンビニエンススクリプトを再実行してもメリットはありません。すでにホストに追加されているリポジトリを再度追加しようとすると、問題が発生する可能性があります。
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
定義済みの構成ファイルはすべて手動で削除する必要があります。
Recommended Posts