6 ポイント 投稿者 GN⁺ 2024-11-24 | 1件のコメント | WhatsAppで共有
  • Bocker

    • Bockerは、約100行のbashで実装されたDockerのシンプルなバージョン。
  • Prerequisites

    • Bockerを実行するために必要なパッケージ:
      • btrfs-progs
      • curl
      • iproute2
      • iptables
      • libcgroup-tools
      • util-linux >= 2.25.2
      • coreutils >= 7.5
    • システム設定の要件:
      • /var/bockerにbtrfsファイルシステムをマウント
      • bridge0という名前のネットワークブリッジと 10.0.0.1/24 IP
      • /proc/sys/net/ipv4/ip_forwardでIPフォワーディングを有効化
      • bridge0から物理インターフェースへのトラフィックをルーティングするためのファイアウォール
    • Vagrantfileを使って必要な環境を構築できる。
    • Bockerはroot権限で実行され、ネットワークインターフェース、ルーティングテーブル、ファイアウォールルールを変更するため、仮想マシンで実行することが推奨される。
  • Example Usage

    • Bockerの使用例:
      • bocker pull centos 7 コマンドでCentOS 7イメージを取得。
      • bocker imagesでイメージ一覧を確認できる。
      • bocker run img_42150 cat /etc/centos-releaseでコンテナ内でコマンドを実行できる。
      • bocker psで実行中のコンテナを確認できる。
      • bocker logs ps_42045でコンテナログを確認できる。
      • bocker rm ps_42045でコンテナを削除できる。
      • bocker run img_42150 yum install -y wgetでパッケージをインストールできる。
      • bocker commit ps_42018 img_42150でコンテナの変更をコミットできる。
      • CPUおよびメモリ制限を設定できる。
  • Functionality: Currently Implemented

    • 現在実装されている機能:
      • docker buildの限定的な実装
      • docker pull
      • docker images
      • docker ps
      • docker run
      • docker exec
      • docker logs
      • docker commit
      • docker rm / docker rmi
      • ネットワーキング
      • クォータ対応 / CGroups
  • Functionality: Not Yet Implemented

    • まだ実装されていない機能:
      • データボリュームコンテナ
      • データボリューム
      • ポートフォワーディング
  • License

    • このプログラムはGNU General Public Licenseに従って配布される自由ソフトウェア。
    • 商品性や特定目的への適合性についての保証はない。

1件のコメント

 
GN⁺ 2024-11-24
Hacker Newsの意見
  • proot を使って Bag というプロジェクトを作った。これは Docker の代替ではなく、cgroups とも無関係で、CLI も Docker とは異なる。インターネット検閲を回避するためにプロキシチェーンのソリューションを開発し、それを termux で動かしたいと考えていた。当時の termux には jdk/jre がなく、proot 経由で archlinux 環境を作成して jdk を使うことができた。この環境はさまざまな作業に適しており、bag.sh というスクリプトによって自動化された環境構築とコマンド実行が可能だった。このスクリプトには、5年間更新されていないロードマップがある

  • 最小限の bash スクリプトが好きで、10年前のハッカソンで Docker や Mesos などを使った分散インフラを宣伝するために、40行の bash で intra-cluster ロードバランサーを実装したことがある。また、colo-to-cloud 転送ツールも開発したが、今では失われてしまった。Shell Fu などで便利なスクリプト集を見つけられる

  • リポジトリに「未実装」「やること」「作業中」といったメッセージがあり、最後のコミットが数年前というのは良いことだ。自分のコードで見落とした ToDo リストをわざわざ振り返らなくて済むという安心感がある

  • lazydocker が Docker Desktop の優れた代替として言及されていないのは驚きだ。これは ssh 経由で動作する、かなりフル機能なターミナル UI だ

  • BastilleBSD は BSD で jails を管理するツールで、Docker に見られる多くの構造を使っている。BSD の他の jail 管理ソフトウェアより依存関係が少ないので好んでいる

  • 実用性はさておき、実装から学べることは多い

  • GitHub のホームページリンクが壊れているので、www. を削除する必要がある

  • Docker の簡単な再実装が可能だという点こそ、Docker 社が直面している最大の問題だ。Docker の本当の価値は Docker Hub だけでなく、Windows と Mac 向け Docker が提供する統合体験にある。これは VirtualBox と Vagrant を手動で設定するより、はるかに優れた体験を提供する

  • Docker がどのように始まったのか気になる

  • なぜ Docker がまだ ubuntu/debian のリポジトリに含まれていないのか不思議だ。簡単に純利益になるはずだ