GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Docker で Btrfs をストレージ エンジンとして構成する方法

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


Docker
  1. DockerEngineをDebian11にインストールする方法

  2. デーモンが停止したときにDockerコンテナを実行し続ける方法

  3. プロキシを使用するように docker を構成する方法

  1. DockerEngineのセキュリティを評価する方法

  2. Docker イメージ内のファイルを更新/追加する方法

  3. Dockerコンテナのタイムゾーンを変更する方法

  1. Dockerイメージとコンテナーを最新バージョンに更新する方法

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

  3. MySQL Docker で監査ログのパスを変更する方法