-
Bocker
- Bocker adalah versi sederhana dari Docker yang diimplementasikan dengan sekitar 100 baris bash.
-
Prasyarat
- Paket yang diperlukan untuk menjalankan Bocker:
- btrfs-progs
- curl
- iproute2
- iptables
- libcgroup-tools
- util-linux >= 2.25.2
- coreutils >= 7.5
- Persyaratan konfigurasi sistem:
- Mount file system btrfs di
/var/bocker
- Network bridge bernama
bridge0 dengan IP 10.0.0.1/24
- Aktifkan IP forwarding di
/proc/sys/net/ipv4/ip_forward
- Firewall untuk merutekan trafik dari
bridge0 ke interface fisik
- Lingkungan yang diperlukan dapat disiapkan menggunakan Vagrantfile.
- Bocker dijalankan dengan hak akses root dan mengubah interface jaringan, tabel routing, serta aturan firewall, sehingga disarankan untuk menjalankannya di mesin virtual.
-
Contoh Penggunaan
- Contoh penggunaan Bocker:
- Mengambil image CentOS 7 dengan perintah
bocker pull centos 7.
- Daftar image dapat dilihat dengan
bocker images.
- Menjalankan perintah di container dengan
bocker run img_42150 cat /etc/centos-release.
- Container yang sedang berjalan dapat diperiksa dengan
bocker ps.
- Log container dapat dilihat dengan
bocker logs ps_42045.
- Container dapat dihapus dengan
bocker rm ps_42045.
- Paket dapat diinstal dengan
bocker run img_42150 yum install -y wget.
- Perubahan pada container dapat di-commit dengan
bocker commit ps_42018 img_42150.
- Mendukung pengaturan batas CPU dan memori.
-
Fungsionalitas: Saat Ini Sudah Diimplementasikan
- Fitur yang saat ini sudah diimplementasikan:
- Implementasi terbatas dari
docker build
docker pull
docker images
docker ps
docker run
docker exec
docker logs
docker commit
docker rm / docker rmi
- Networking
- Dukungan kuota / CGroups
-
Fungsionalitas: Belum Diimplementasikan
- Fitur yang belum diimplementasikan:
- Container volume data
- Volume data
- Port forwarding
-
Lisensi
- Program ini adalah perangkat lunak bebas yang didistribusikan di bawah GNU General Public License.
- Tidak ada jaminan terkait nilai komersial maupun kesesuaian untuk tujuan tertentu.
1 komentar
Komentar Hacker News
Saya pernah membuat proyek bernama Bag menggunakan proot. Ini bukan alternatif Docker, tidak terkait dengan cgroups, dan CLI-nya juga berbeda dari Docker. Saya mengembangkan solusi rantai proxy untuk melewati sensor internet, dan ingin menjalankannya di termux. Saat itu termux belum memiliki jdk/jre, jadi saya bisa menggunakan jdk dengan membuat lingkungan archlinux melalui proot. Lingkungan ini cocok untuk berbagai pekerjaan, dan melalui skrip bernama bag.sh saya bisa membuat lingkungan secara otomatis serta menjalankan perintah. Skrip ini memiliki roadmap yang belum diperbarui selama 5 tahun
Saya menyukai skrip bash yang minimalis, dan 10 tahun lalu di sebuah hackathon saya pernah membuat load balancer intra-cluster dalam 40 baris bash untuk mempromosikan infrastruktur terdistribusi yang menggunakan Docker, Mesos, dan lainnya. Saya juga pernah mengembangkan alat transfer colo-to-cloud, tetapi sekarang sudah hilang. Kumpulan skrip berguna bisa ditemukan di Shell Fu dan tempat serupa
Saya suka ketika ada pesan seperti "belum diimplementasikan", "to-do", atau "sedang dikerjakan" di repositori dan commit terakhirnya sudah beberapa tahun lalu. Ini memberi rasa lega karena saya tidak perlu kembali melihat daftar pekerjaan yang saya lewatkan di kode saya sendiri
Saya heran lazydocker tidak disebut sebagai alternatif yang sangat bagus untuk Docker Desktop. Ini adalah terminal UI yang fiturnya cukup lengkap dan berjalan lewat ssh
BastilleBSD adalah alat untuk mengelola jails di BSD, dan menggunakan banyak struktur yang bisa ditemukan di Docker. Saya menyukainya karena dependensinya lebih sedikit dibanding perangkat lunak pengelola jail lain di BSD
Terlepas dari kepraktisannya, ada banyak hal yang bisa dipelajari dari implementasinya
Tautan beranda GitHub rusak, jadi "www." harus dihapus
Fakta bahwa reimplementasi sederhana Docker itu mungkin adalah masalah terbesar yang dihadapi perusahaan Docker. Nilai sebenarnya dari Docker bukan hanya Docker Hub, tetapi juga pengalaman terintegrasi yang disediakan Docker untuk Windows dan Mac. Ini memberikan pengalaman yang jauh lebih baik daripada menyiapkan VirtualBox dan Vagrant secara manual
Bertanya-tanya bagaimana Docker bisa dimulai seperti itu
Bertanya-tanya mengapa Docker masih belum dimasukkan ke repositori ubuntu/debian. Ini akan menjadi keuntungan bersih yang mudah