18. 解決方法はある • シングルホストのネットワークは、Dockerの Link機能で・・・ • マルチホストはAmbassadorパターンで・・・ • コンテナの管理はfigを・・・ • コンテナの監視はsensuで・・・ • 以下略 出来るけどやっぱり面倒
はじめに 今さらジローではあるが、自分の中で Docker を絡めたクラスタ構成について気になっているので CoreOS やその関連技術を改めて勉強してみたいと思う。CoreOS 等の各種情報については参考にさせて頂いた記事がとても詳しく参考になるので、そちらを都度確認しつつ理解を深めていきたい。 今回は以下を学びたい。 Vagrant で CoreOS ノードを複数起動する etcd と fleet をザクっと触る fleet で Docker コンテナクラスタを管理する 起動したコンテナのサービスを registrator で etcd に登録する etcd に登録したサービスの情報を利用して HAProxy の設定に反映させる 構成 今回、教材として利用する構成は以下の通り。 参考 http://deeeet.com/writing/2014/11/20/fleet/ http://
本記事はDocker Advent Calendar 2014の1日目の記事です. Dockerによるコンテナ化はリソース隔離として素晴らしい技術である.しかし,通常は1つのコンテナに全ての機能を詰め込むようなことはしない.マイクロサービス的にコンテナごとに役割を分け,それらを接続し,協調させ,全体として1つのサービスを作り上げるのが通常の使い方になっている. コンテナ同士の接続と言っても,シングルホスト内ではどうするのか,マルチホストになったときにどうするのかなど様々なパターンが考えられる.Dockerが注目された2014年だけでも,とても多くの手法や考え方が登場している. 僕の観測範囲で全てを追いきれているかは分からないが,現状見られるDockerコンテナの接続パターンを実例と共にまとめておく. なお今回利用するコードは全て以下のレポジトリをcloneして自分で試せるようになっている.
今までいろいろ触ってきて,Dockerネットワーク周りに関しては何となくは理解していたが,人に説明できるほど理解してなかったのでまとめておく.基本は,Advanced networking - Docker Documentationがベースになっている. 仮想ブリッジの仕組み Dockerのネットワークは,仮想ブリッジdocker0を通じて管理され,他のネットワークとは隔離された環境で動作する. Dockerデーモンを起動すると, 仮想ブリッジdocker0の作成 ホストの既存ルートからの空きのIPアドレス空間を検索 空きから特定の範囲のIPアドレス空間を取得 取得したIPアドレス空間をdocker0に割り当て が行われる. コンテナを起動すると,コンテナには以下が割り当てられる. docker0に紐づいたveth(Virtual Ethernet)インターフェース docker0に割り
Kubernetesは、数十から数百といったコンテナからなるアプリケーションのデプロイや管理、死活管理といった運用を支える機能を備えています。主な機能や仕組みを紹介します。 コンテナ型仮想化のDockerを管理するフレームワークとして、Googleがオープンソースとして公開したKubernetesが急速に注目を集めています。KubernetesのプロジェクトにはDocker本体はもちろん、マイクロソフトやレッドハット、IBM、VMwareなどが参加を表明しており、事実上の標準になりそうな勢いです。 Kubernetesはどのような機能を持ち、仕組みはどうなっているのか。有志により都内で開催された「第20回 PaaS勉強会」の草間一人氏のセッション「Kubernetesを触ってみた」の内容をダイジェストで紹介します。 NTTコミュニケーションズという会社で、Cloudn PaaSというClo
dockerを使ってHerokuにアプリを簡単にデプロイできる感じの仕組みができた(という説明であってるのかよくわからないけど)そうなので、試してみた。 Heroku | Introducing 'heroku docker:release': Build & Deploy Heroku Apps with Docker github.com 動かしているのは、単になんか変な文字列を表示するだけのアプリ。 https://pacific-refuge-5105.herokuapp.com/ 以下に、手順を示す。 動かすまでの手順 herokuコマンドなどの準備 herokuクライアントを入れる。 $ brew install heroku ==> Downloading https://s3.amazonaws.com/assets.heroku.com/heroku-client/her
ServerspecでDockerコンテナをテストするのにDockerバックエンドを利用してみました。 Dockerコンテナ内にSSHDを立てたくなかったので、SSHバックエンドではなくDockerバックエンドでテストを実行したかったのですが、Web上にもあまり情報がなかったのでメモしておきます。 DockerバックエンドについてはServerspec本の中で紹介されています。 DockerバックエンドはDocker Remote APIを利用してテストを実行しているようです。 Serverspec 作者: 宮下剛輔出版社/メーカー: オライリージャパン発売日: 2015/01/17メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る ディレクトリ構成 . ├── Dockerfile ├── Gemfile ├── Gemfile.lock └── spec ├──
Dockerの再起動オプション Announcing Docker 1.2.0 | Docker Blog v1.2でもいくつかの面白い機能が追加された.例えば,今まで--privilegedオプションを使うと全権限を与えてしまっていたが--cap-addや--cap-dropオプションでそれを制限できるようになったり,–deviceオプションで利用したいデバイスを指定できたり,コンテナ起動時に/etc/hostsを編集できたり…など. 中でも再起動オプションが良さげなので,実際に触ってみた.docker runを実行するときに--restartオプションに以下を指定するとコンテナの再起動の挙動を変更できる: no - 再起動しない(デフォルト) on-failure - 終了ステータスがnon-zeroの場合に再起動する on-failure:X - 終了ステータスがnon-zeroの場
JDK 7u65/8u11以降でバイトコード検証の不具合があったためこれまでDockerfileを自作していましたが、JDK 7u72/8u25で不具合が修正されたのでDocker Hubで公開されているイメージに乗り換えました。Docker HubではいくつかのJavaイメージが公開されていますが、javaとdockerfile/javaが主要のようです。前者は8u40があるのに7u72がなかったりするので、後者を使っています。 11/16時点で、dockerfile/javaのバージョンは以下の通りです。 % docker run --rm dockerfile/java:oracle-java7 java -version java version "1.7.0_72" Java(TM) SE Runtime Environment (build 1.7.0_72-b14) Java
Products Docker DesktopContainerize your applicationsDocker HubDiscover and share container imagesDocker ScoutSimplify the software supply chainDocker Build CloudSpeed up your image buildsTestcontainers Desktop Local testing with real dependenciesTestcontainers Cloud Test without limits in the cloud See our product roadmapMORE resources for developers
Dockerはコンテナ型の仮想化ソフトウェアで、一台のサーバの中にコンテナを複数立ち上げることができます。そのためDockerサーバ1台で何でもこなせそうに思いますが、やはり大きなシステムになると複数のサーバ内で動作するDockerコンテナ同士を連携させたいと思うのではないでしょうか。 そうなると問題になりそうなのがネットワークです。リンクを使う方法もありますが、より大きなネットワーク構造を作り上げるのにはWeaveが使えそうです。WeaveはDockerコンテナ向けの仮想化ネットワークソフトウェアになります。 用意するもの Dockerが動けば良いのですが、他にも幾つか必要なのでCoreOSは向かなそうです。今回は Ubuntu Server 14.04 LTS 64bit を使っています。さくらのクラウドでサーバを立ち上げる際に、アーカイブとして Ubuntu Server 14.04
Docker 盛り上がってますね。 色々使ってみるとこんなこと思うことありませんか? NAT じゃなきゃ楽なのに 他ホストの Docker と Link できたら楽なのに そうです。色々使ってみるとネットワーク周りをどうするか?という問題にぶつかります。 導入、運用を考えてる方々は多くの場合、この問題に取り組まないといけなくなると思います。 では問題をおさらいしてみましょう Docker のネットワークの問題 Docker はポータビリティを上げるため他コンテナに IP, Port 番号などを教える機能を提供しています。 Link 機能です。 $ sudo docker run -d --name redis crosbymichael/redis $ sudo docker run -t -i --link redis:db ubuntu bash root@451f4256fbc8:/
Docker はひとつの Linux システムの上で、複数の Linux システムを動かすためのソフトウェアだ。システムの分離には Linux Containers (LXC) を、ファイルシステムまわりには Advanced multi layered unification filesystem (Aufs) をつかっている。 Docker は Go で書かれている。ソースコードは全体でだいたい15,000行で、そのうちおよそ 2/3 が本体、1/3 がテストとなっている。 % cat **/*.go | wc -l 14976 % cat $(ls **/*.go | grep -vi test.go) | wc -l 9797 % cat $(ls **/*.go | grep -i test.go) | wc -l 5179 % Docker Init, Docker Daemo
Dockerに興味はあっても使ったことのなかった自分ですが、2014/07/04に開催されたDocker Meetup Tokyo #3に行ってきました! もらったおみやげ。 Dockerステッカーが欲しかったのですが、どこにあるのかわかりませんでした… デンシバちゃんかわいいですね。 あとGoogle Cloud Platform starter packの$500クーポンをもらったので、そのうちなんか試してみたいです。 さて、Docker Meetupに行くのは今回が初めてだったのですが、運用やアーキテクチャの話など興味深い話が多かったので、振り返りも兼ねて内容をまとめていきたいと思います。 なお、リアルタイムで参加者がTweetした内容がTogetterにまとまっているようなのでそちらも併せて見ていただくと面白いかもしれません。(@yoshidashingoさん、まとめありがとうござ
Deisとは DeisはオープンソースのPaaS。プライベートHerokuみたいなやつでDockerとかCoreOSで動く。 DeisはアプリのデプロイをDockerfileでできる。あとHerokuのbuildpackでも可能。 まーそんな感じなのでCI/CDが簡単に実現できるわけですね。 あと簡単にスケールしたりもできるようです。 Deisのアーキテクチャ Deisは7個のコンポーネントでできています。 Controller Deisの頭脳となる部分でDjangoとCeleryでできています。 クラスタの管理やアプリの管理などをする部分です。 Database データベースはPostgreSQLを使っています。 Cache キャッシュはRedisです。 Builder アプリケーションをビルドする部分でGitサーバになっています。 git pushされるとビルドされます。 Regist
CyberZ 公式エンジニアブログ アドテクや最新のテクノロジーについて情報発信していきます ブログトップ 記事一覧 画像一覧 jsとcssで等身・・・ » 怠惰のすゝめ。Dockerで環境構築・テスト・デプロイを完全自動化 2014-06-02 11:04:38NEW ! テーマ:ブログ こんにちは、2014年新卒エンジニアの進藤です。 CyberZに配属されて1ヶ月経ちましたが、優秀な先輩エンジニアに囲まれ、刺激的な毎日を過ごしています。 さっそくですが、いま僕が進めているプロジェクトについてを説明します。 開発中のプロジェクトに対して、環境構築・テスト・デプロイの自動化を進め、開発のサイクルを早める仕組み・体制を整えています。 さらには運用中のプロジェクトに対して「Immutable Infrastructure」の概念を取り入れ、安全な運用体制についても調査しています。 まだ検証の
社内共有用 dockerに関する情報共有 Dockerの社内プレゼン・ハンズオンやるやるいっててやれていないのでQiitaを使って一部代用。 docker image を自作するには 自作する方法はあるのだけれど、 今時点だとMac OS Xな環境で行う場合どうすれば楽にできるんだろうか、 って思ったので個人的にメモとしてまとめておく。 今回boot2dockerを利用するため、 以下のブログエントリを参考しました。大変ありがたかったです。 m(_ _)m。 boot2dockerでdockerを試す 環境構築 boot2dockerを使おう boot2dockerでdockerを試す の通りインストールすればよいので割愛 homebrewでインストールをして 起動準備をして、起動を行う。 boot2dockerインストール時に合わせてdockerもインストールされる。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く