Docker は、Linux コンテナー用のオープン プラットフォーム管理ツールです。これは、開発者とシステム管理者がアプリケーションをビルドして軽量コンテナーにパッケージ化する手段を提供します。
Docker はデフォルトのストレージ エンジンとして devicemapper デバイスを使用します。 Btrfs をストレージ エンジンとして使用するには、次の手順を実行します。 Red Hat Enterprise Linux (RHEL) は、Enterprise Linux (EPEL) リポジトリの追加パッケージと RHEL7 用にリリースされたバージョンの両方で、Docker のビルドから Btrfs ストレージ ドライバーを削除することに注意してください。
systemctl コマンドを使用して docker サービスを停止します。 mkfs.btrfs コマンドを使用して、ブロック デバイスに Btrfs ファイル システムを作成します。 blkid コマンドを使用して、Btrfs ファイル システムの UUID を確認します。この投稿で使用されている例では、btrfs ファイルシステムを既に構成していると想定しており、btrfs ファイルシステムをストレージ エンジンとして使用するための Docker 構成のみに焦点を当てます。
1. /etc/systemd/system/var-lib-docker.mount を作成します ファイルは次のとおりです:
[Unit] Description = Docker Image Store [Mount] What = UUID=[UUID for the Btrfs file system] Where = /var/lib/docker Type = btrfs [Install] WantedBy = multi-user.target
2. systemctl コマンドを使用して、var-lib-docker.mount ターゲットを有効にして起動します。
# systemctl enable var-lib-docker.mount # systemctl start var-lib-docker.mount
3. SELinux モードを「許可」に設定します 」。 SELinux は現在、Btrfs ストレージ ドライバーをサポートしていません。
SELinux を無効にする方法、または許可モードに設定する方法4. /etc/sysconfig/docker を編集します ファイルを開き、OPTIONS を設定します 次のような変数:
# vi /etc/sysconfig/docker OPTIONS=-s btrfs
5. /usr/lib/systemd/system/docker.service をコピーします /etc/systemd/system/docker.service へのファイル .
# cp -p /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service
6. /etc/systemd/system/docker.service を編集し、次のように var-lib-docker.mount ターゲットの Requires および After エントリを追加します。
# vi /etc/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com Requires=var-lib-docker.mount After=network.target docker.socket Requires=docker.socket After=var-lib-docker.mount [Service] Type=notify EnvironmentFile=-/etc/sysconfig/docker EnvironmentFile=-/etc/sysconfig/docker-storage ExecStart=/usr/bin/docker -d -H fd:// $OPTIONS $DOCKER_STORAGE_OPTIONS LimitNOFILE=1048576 LimitNPROC=1048576 [Install] WantedBy=multi-user.target
7. システムで Web プロキシを使用して Docker Hub レジストリにアクセスする必要がある場合は、/etc/sysconfig/docker ファイルを編集して次の行を追加します。 [proxy_URL:port] を Web プロキシの適切な URL とポート番号に置き換えます。
# vi /etc/sysconfig/docker HTTP_PROXY="[proxy_URL:port]" HTTPS_PROXY="[proxy_URL:port]"
8. systemctl コマンドを使用して、docker サービスを有効にして開始します。
# systemctl enable docker # systemctl start docker
9. docker info コマンドで Btrfs がストレージ ドライバーとして表示されるようになりました:
# docker info Storage Driver: btrfs