hirosanote’s blog

検証環境の構築手順やネットワーク機器のテスト結果、関連する事について記載します。このブログは個人で行っており、所属する会社とは関係ありません。

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

Fedora27をインストールする手順を記載します。以下のサイトを参考および翻訳しました。サイト管理者には、翻訳しブログに掲載することの許可は得ています。
www.itzgeek.com

Dockerはオープンソースコンテナ仮想化技術で近年急速に普及しており、アプリケーションをより効率的に展開する方法を提供しています。 Dockerを使用すると、アプリケーションは基本OS(Linuxオペレーティングシステム)の上のコンテナ内に常駐します。

Dockerは、cgroupsや名前空間などのカーネル機能を使用して、独立したコンテナを単一OS上で実行できるようにします。
Dockerは、Fedora 27、Fedora 26、およびFedora 25をサポートし、64ビットオペレーティングシステムでのみ動作します。


Dockerのエディション
Dockerは現在2つのエディションで利用可能です。
- Community Edition (CE)
- Enterprise Edition (EE)

この手順書では、Community Edition (CE)を使用します。


前提条件
古いバージョンの削除:
Dockerの古いバージョン(依存に関係する“docker”又は“docker-engine”)をアンインストールします。 システムにドッカーパッケージがない場合は、以下の手順をスキップしてください。

dnf remove -y docker docker-common container-selinux docker-selinux docker-engine

/var/lib/docker/にあるイメージ、ボリューム、ネットワークなどの重要な内容は保持されます。


Dockerのインストール
Dockerコミュニティパッケージは現在、 "docker-ce"と呼ばれています。 あなたのマシンにDocker CEリポジトリを追加しましょう。

dnf -y install curl
curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/fedora/docker-ce.repo

次に、dnfコマンドを使用してDockerコミュニティ版の最新バージョンをインストールします。

dnf -y install docker-ce

ノート:Docker CEの特定のバージョンをインストールする場合は、dockf-ce- [version]のようなバージョンをdnfコマンドに追加できます。
例:dnf -y install docker-ce-17.03.1.ce-1.fc25


Dockerの作業
今、あなたのマシンにDockerがインストールされています。
インストール後に自動的に起動しない場合は、Dockerサービスを開始します。

systemctl start docker
systemctl enable docker


最初のDockerコンテナを実行

# docker run -it fedora echo Hello-World

"docker run"コマンドを実行すると、dockerはFedoraベースイメージでコンテナを開始します。 デフォルトでは、Dockerはベースイメージをローカルでチェックします。 見つからなければ、Docker RegistryまたはDockerのprivate registry.sからベースイメージのダウンロードを開始します。
Fedoraコンテナを初めて実行しているので、出力は以下のようになります。

[root@localhost ~]# docker run -it fedora echo Hello-World
Unable to find image 'fedora:latest' locally
latest: Pulling from library/fedora
e71c36a80ba9: Pull complete
Digest: sha256:7ae08e5637170eb47c01e315b6e64e0d48c6200d2942c695d0bee61b38c65b39
Status: Downloaded newer image for fedora:latest
Hello-World
[root@localhost ~]#


非rootユーザーとしてのDockerの管理
"docker"というグループを作成し、root権限で次のコマンドを実行します。

# groupadd docker

ドッカーグループの一部になるユーザーを追加し、 "taro"を自分のユーザー名で置き換えます。

# useradd taro

ユーザーをdockerグループに追加します。

# usermod -aG docker taro

パーミッションを変更します。

# chown root:docker /var/run/docker.sock

これで、root以外のユーザーでDockerエンジンを実行できるようになります。