6 poin oleh GN⁺ 2024-11-24 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2024-11-24
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