1000台同時SSHオペレーション環境を構築するにあたって、手元のローカル環境の性能限界の問題を解決するために、オペレーションサーバをSSHクライアントとすることによりSSH実行を高速化した。実行環境としてDocker、レジストリとしてAmazon ECR(EC2 Container Registry)を用いて、ローカル環境とオペレーションサーバ環境を統一することにより、オペレーションサーバの構成管理の手間を削減した。 はじめに システム構成 実装上の工夫 オペレーションサーバ越しのroot権限実行 rawモジュールとscriptモジュールのみの利用 Ansibleの実行ログのGit保存 まとめと今後の課題 はじめに 3年前に Ansible + Mackerel APIによる1000台規模のサーバオペレーション - ゆううきブログ という記事を書いた。 この記事では、ホストインベントリと
年末年始になると自宅のネットワーク周りをいじりたくなるmizutaniです.1年くらい前にミラーリングできるスイッチを格安で手に入れてはしゃいで自宅ネットワークの監視環境を作ったんですが,今見直してみるとわりと複雑な構成で,これをどうにか整理できないかと昨年末に思い立ちました.機器の構成はなるべくシンプルにするとともにどうせなら今風な作りにしようということで,Docker + Linuxで構成するPCルータを作ってみました. 設計 原則 サービスのモジュール化 Linux kernelにやらせなければならない仕事を除き,各サービスをなるべく独立して動かせるようにします. 市販のブロードバンドルーターなどと比べ,Linuxを入れたマシンは非常に自由度が高いためなんでもできますが,そのために環境が"汚れて"しまうという問題が有ります 細かい変更を続けるうちにサービスや保存してあるファイルの依存
以前に私が書いた「 Dockerの本番運用:失敗の歴史) 」という記事は、非常に多くの反響を呼びました。 その後、長い議論を交わして、何百件ものフィードバックや何千件ものコメントを読み、さまざまな人々や主要事業者とも顔を合わせました。Dockerでの試みが増えるほど、その失敗談は増えていきます。そうした現状を、今回アップデートしておきたいと思います。 この記事では、最近の交流や記事から得た教訓を紹介しますが、その前に簡単におさらいをして軽く背景を説明しましょう。 免責事項:対象読者 たくさんのコメントから、世の中には10種類の人々が存在するということが明らかになりました。 1) アマチュア 実際のユーザがいない試用版のプロジェクトやサイドプロジェクトを実行している人々です。Ubuntuのベータ版を使用するのが当然だと考えており、「安定したもの」は古いものと見なすようなタイプです。 注釈:書
ども、大瀧です。 今週金曜日にあるDocker Meetup Tokyo #2という勉強会でLTすることになりまして、大慌てでDocker触ってます。Dockerの開発は非常に活発で、新機能や仕様変更が続々と出ており刺激的なのですが、手元の開発環境として使っているMBAでのセットアップ方法が以前と変わりすぎていたので、備忘録としてまとめておきます。 Dockerの実行方法はVagrantを使う方法などいくつかありますが、今回はDocker公式ドキュメントをベースに、Homebrewで簡単にインストールする方法をチョイスしてみました。すぐに陳腐化する恐れがありますので、そこんとこオナシャス!です。 必要なソフトウェア OS X Mavericks(DockerはSnow Leopard以降をサポート) VirtualBox Homebrew VirtualBoxおよびHomebrewのインス
brew update brew upgrade docker boot2docker boot2docker delete boot2docker download boot2docker init boot2docker up brewからのupgradeだけだとboot2docker(VirtualBox)上のdockerは更新されないので、boot2docker downloadでboot2dockerの最新イメージを落としてきてinitし直す必要がある。 docker version Client version: 1.1.2 Client API version: 1.13 Go version (client): go1.3 Git commit (client): d84a070 Server version: 1.1.2 Server API version: 1.13
Docker でホストのディレクトリといわゆるゲストのコンテナイメージのディレクトリを共有したい時がある. そのようなときにコンテナイメージでコマンドを実行するときに,オプションを指定してやれば良い. ディレクトリを共有するための方法は,つぎの2つがある. この記事では,2のコマンドで指定する方法についてのみ説明する. Dockerfile に設定を書き込む Docker でコンテナイメージにコマンドを投げるときに設定 コマンドで共有する方法 ホスト側からコンテナイメージでコマンドを実行するには,つぎのようにオプションを指定する. sudo docker run -i -t -v /host/directory:/container-directory:ro ubuntu /bin/bash docker: Docker コマンド run: 新しくコンテナでコマンドを実行 -i: インタラ
Docker はただ LXC を再発明しているわけではないというお話。DotCloud のファウンダーによる stackoverflow の質問への回答。 LXC はネームスペースやコントロールグループ等の Linux カーネルケーパビリティ機能を利用し、プロセスを他のプロセスからサンドボックス化し、それらプロセスへのリソースの割当てをコントロールしている。Docker はこのローレベルのカーネル機能を軸に、以下のような機能を提供している。 LXC に対し Docker が提供している機能 どんなマシンへもポータブルデプロイ可能 Docker はアプリケーションをビルドするためのフォーマットが定義されており、その全ての依存関係を (Docker がインストールされている全てのマシンで動作する) 単一のオブジェクトに入れ、それはどこで実行してもアプリケーション実行環境が同一になります。LXC
いまさら聞けないDocker入門(終): Docker Hubの使い方とGitHubからのDockerイメージ自動ビルド 公式Dockerレジストリ「Docker Hub」にDockerコンテナーを公開する方法や、Automated Buildを利用してGitHubからDockerイメージを自動ビルドする方法などを紹介します。(2014/8/26) いまさら聞けないDocker入門(3): Dockerfileとdocker buildコマンドでDockerイメージの作成 コンテナーの構成内容を記述するDockerfileの概要とdocker buildコマンドの使い方、ENTRYPOINTとCMDの使い分け、便利なTipsなどを紹介します。(2014/7/8) いまさら聞けないDocker入門(2): ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方 1.0がリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く