-
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件のコメント
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 のリポジトリに含まれていないのか不思議だ。簡単に純利益になるはずだ