Docker adalah alat manajemen platform terbuka untuk Linux Containers. Ini menyediakan sarana bagi pengembang dan administrator sistem untuk membangun dan mengemas aplikasi ke dalam wadah yang ringan.
Docker menggunakan perangkat devicemapper sebagai mesin penyimpanan default. Untuk menggunakan Btrfs sebagai mesin penyimpanan, lakukan langkah-langkah berikut. Perhatikan bahwa Red Hat Enterprise Linux (RHEL) menghapus driver penyimpanan Btrfs dari build Docker mereka, baik pada repositori Extra Packages for Enterprise Linux (EPEL) dan versi yang dirilis untuk RHEL7.
Gunakan perintah systemctl untuk menghentikan layanan buruh pelabuhan. Gunakan perintah mkfs.btrfs untuk membuat sistem file Btrfs pada perangkat blok. Gunakan perintah blkid untuk menentukan UUID dari sistem file Btrfs. Untuk contoh yang digunakan dalam posting ini, saya berasumsi Anda telah mengonfigurasi sistem file btrfs dan hanya akan fokus pada konfigurasi buruh pelabuhan untuk menggunakan sistem file btrfs sebagai mesin penyimpanan.
1. Buat /etc/systemd/system/var-lib-docker.mount file sebagai berikut:
[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. Gunakan perintah systemctl untuk mengaktifkan dan memulai target var-lib-docker.mount.
# systemctl enable var-lib-docker.mount # systemctl start var-lib-docker.mount
3. Setel mode SELinux ke “Permisif “. SELinux saat ini tidak mendukung driver penyimpanan Btrfs.
Cara Menonaktifkan atau mengatur SELinux ke mode Permisif4. Edit /etc/sysconfig/docker file dan atur OPTIONS variabel sebagai berikut:
# vi /etc/sysconfig/docker OPTIONS=-s btrfs
5. Salin /usr/lib/systemd/system/docker.service file ke /etc/systemd/system/docker.service .
# cp -p /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service
6. Edit /etc/systemd/system/docker.service dan tambahkan entri Requires dan After untuk target var-lib-docker.mount sebagai berikut:
# 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. Jika sistem Anda perlu menggunakan proxy web untuk mengakses Docker Hub Registry, edit file /etc/sysconfig/docker dan tambahkan baris berikut. Ganti [proxy_URL:port] dengan URL dan nomor port yang sesuai untuk proxy web Anda.
# vi /etc/sysconfig/docker HTTP_PROXY="[proxy_URL:port]" HTTPS_PROXY="[proxy_URL:port]"
8. Gunakan perintah systemctl untuk mengaktifkan dan memulai layanan buruh pelabuhan.
# systemctl enable docker # systemctl start docker
9. Perintah docker info sekarang menampilkan Btrfs sebagai driver penyimpanan:
# docker info Storage Driver: btrfs