タグ

ブックマーク / deeeet.com (7)

  • Hashicorp Ottoを読む

    Hashicorpから2015年秋の新作が2つ登場した. Otto - HashiCorp Nomad - HashiCorp Ottoがなかなか面白そうなのでコードを追いつつ,Ottoとは何か? なぜ必要になったのか? どのように動作するのか? を簡単にまとめてみる. バージョンは 0.1.0 を対象にしている(イニシャルインプレッションである) Ottoとは何か? 公式はVagrantの後継と表現されている.が,それはローカル開発環境の構築も担っているという意味で後継であり,自分なりの言葉で表現してみると「OttoはHashicorpの各ツールを抽象化し開発環境の構築からインフラの整備,デプロイまでを一手に担うツール」である.ちなみにOttoという名前の由来はAutomationと語感が似ているからかつ元々そういう名前のbotがいたからとのこと. なぜOttoか? なぜVagrantで

  • Dockerの諸問題とRocket登場の経緯

    2014年の後半あたりからDockerDocker Inc.への批判を多く見かけるようになった(もちろんもともと懸念や嫌悪を表明するひとはいた).それを象徴する出来事としてCoreOSチームによる新しいコンテナのRuntimeであるRocketのリリースと,オープンなアプリケーションコンテナの仕様の策定を目指したApp Containerプロジェクトの開始があった. CoreOS is building a container runtime, Rocket 批判は,セキュリティであったり,ドキュメントされていない謎の仕様やバグだったり,コミュニティの運営だったり,と多方面にわたる.これらは具体的にどういうことなのか?なぜRocketが必要なのか?は具体的に整理されていないと思う.これらは,今後コンテナ技術を使っていく上で,オーケストレーションとかと同じくらい重要な部分だと思うので,ここ

  • Dockerコンテナ接続パターン (2014年冬)

    記事はDocker Advent Calendar 2014の1日目の記事です. Dockerによるコンテナ化はリソース隔離として素晴らしい技術である.しかし,通常は1つのコンテナに全ての機能を詰め込むようなことはしない.マイクロサービス的にコンテナごとに役割を分け,それらを接続し,協調させ,全体として1つのサービスを作り上げるのが通常の使い方になっている. コンテナ同士の接続と言っても,シングルホスト内ではどうするのか,マルチホストになったときにどうするのかなど様々なパターンが考えられる.Dockerが注目された2014年だけでも,とても多くの手法や考え方が登場している. 僕の観測範囲で全てを追いきれているかは分からないが,現状見られるDockerコンテナの接続パターンを実例と共にまとめておく. なお今回利用するコードは全て以下のレポジトリをcloneして自分で試せるようになっている.

  • わかりやすいREADME.mdを書く

    GitHubなどに自分のツールやライブラリを公開するとき,README.mdは重要な役割を担っている.レポジトリを訪れたユーザが自分のツールを使ってくれるか否かの第一歩はREADME.mdにかかっている,と言っても過言ではない.実際自分が使う側になったときも,まずREADME.mdを読んで判断していると思う. 成功しているプロジェクトを参考にしつつ,自分が実践していることをまとめておく.ここに書いていることはあくまで(自分の中で)最低限的なものである.プロジェクトが成長していくにつれてREADMEはあるべき姿に成長していくべきだと思う. READMEの役割 README.mdには大きく2つの役割がある. プロジェクト,ツールの使い方,インストール方法 プロジェクト,ツールの宣伝 元々READMEは前者の役割しかなかったが,GitHubの仕組み上,後者の役割も徐々に重要になっている. さらに

    o_hiroyuki
    o_hiroyuki 2014/08/02
    readme.md
  • Dockerのネットワークの基礎

    今までいろいろ触ってきて,Dockerネットワーク周りに関しては何となくは理解していたが,人に説明できるほど理解してなかったのでまとめておく.基は,Advanced networking - Docker Documentationがベースになっている. 仮想ブリッジの仕組み Dockerのネットワークは,仮想ブリッジdocker0を通じて管理され,他のネットワークとは隔離された環境で動作する. Dockerデーモンを起動すると, 仮想ブリッジdocker0の作成 ホストの既存ルートからの空きのIPアドレス空間を検索 空きから特定の範囲のIPアドレス空間を取得 取得したIPアドレス空間をdocker0に割り当て が行われる. コンテナを起動すると,コンテナには以下が割り当てられる. docker0に紐づいたveth(Virtual Ethernet)インターフェース docker0に割り

  • Vagrant1.6のDocker provider

    Vagrant1.6のDocker provider Feature Preview: Docker-Based Development Environments Vagrant 1.6からDocker providerがサポートされた.つまり,VagrantでVMだけでなくコンテナも管理できるようになった. この機能はネイティブでDockerをサポートしてないOSXでも使え,この場合は裏側でProxy VM(boot2docker box)が勝手に立ち上がって,その上でコンテナが立ち上がる.つまり,以下のようになる. OSX -> (Proxy VM) -> Docker Container OSXの場合,これは今までboot2dockerを使ってやってきたのと変わらない.ただ,Docker providerを使うと,boot2dockerの立ち上げまで面倒を見てくれる. 何が嬉しいのか

  • Dockerとは何か?どこで使うべきか?

    この記事はDockerに関する実験的な記事や,Buildpackを使ってHeroku AppをDocker Containerとして使えるようにする“building”の開発などで知られるCenturyLink Labsの “What is Docker and When To Use It”の翻訳です. Dockerとは何か?Dockerをどこで使うべきか?についてよく見かける記事とは違った視点から説明されています. 翻訳は許可をとった上で行っています. Dockerとは何でないか Dockerとは何かを説明する前に,Dockerは何でないかについて述べる.Dockerの否定形は何か?Dockerの制限は何か?Dockerが得意でないことは何か? DockerLXCのようなLinux Containerではない DockerLXCだけのラッパーではない(理論的には仮想マシンも管理でき

  • 1