「イマドキのDocker力」を0から身につけるための一連のチュートリアルを紹介します。PLAID社内のKARTE開発環境のDocker化に伴い、扱い方を実践的に身につけるための教材として作成されました。
コンテナ型仮想化の技術や実装はDockerが登場する以前から存在していたとはいえ、IT業界で本格的にコンテナの活用が始まったと言えるのは、やはり2013年3月に当時のdotCloudからDockerが登場したことがきっかけでしょう。 そうして始まったコンテナ時代の第一章は今年2017年、コンテナの標準仕様がOpen Container Initiativeによって策定完了し、コンテナオーケストレーションの事実上の標準がKubernetesに決まったことで基盤技術の基本要素がおおむね固まり、一つの区切りがついたように見えます。 そして今後は、この基盤技術を用いたコンテナによる分散アプリケーションのための様々なサービスや開発、テスト、デプロイ、本番環境に対応したツールやサービス実行環境などのソリューションが登場し、競う段階へ入っていくのではないでしょうか。 この記事では、Docker登場から現
おはようございます、ImageFlux開発責任者のharukasanです。3日前の4月14日、ピクシブではPawooが急にリリースされることになりまして、ここ数日はずっとPawooサーバにログインしていました。このPawooサーバ、既にピクシブの監視体制に入っており、アラート受信後インフラエンジニアが障害対応できる仕組みを整えています。案の定、リリース直後の15、16日は週末にもかかわらずアラートを受け取ることになり、サーバにはりつくことになったわけです。どんなシステムであろうとアラートを受け取ったら対応する、それが我らインフラエンジニアです。 pawoo.netの構成 さて、それではまずPawooの構成を見ていきましょう。digすればわかりますがpawoo.netはAWS上に構成されています。数百台以上の物理サーバを常時運用しているピクシブであっても、さすがにこんなにはやく物理サーバは用
モバイルアプリサービス部の五十嵐です。 Dockerは軽量でポータビリティに優れ、環境を汚さないので開発環境には無くてはならない存在ですよね!今回はまだDockerを使っていない人向けに、私が自分が辿ってきた経験を元に、『こういうシーンでDockerを使うと便利』というのをステップ・バイ・ステップで説明していきます。 対象読者 Dockerはなんとなく知っていて興味はあるけど、使い所や導入するメリットが分からないという人を対象にしています。 環境 Docker for Mac(Docker 1.12.3) Dockerについて Dockerは複数のコンポーネントからなるプラットフォームですが、本記事では主にDocker EngineのことをDockerと呼びます。 Dockerはコンテナと呼ばれる仮想化技術を用いています。従来の仮想化技術と異なる点は、ホストのカーネルをコンテナと共有し、ホ
$ docker-machine create --driver virtualbox dev Creating CA: /Users/moriyasu/.docker/machine/certs/ca.pem Creating client certificate: /Users/moriyasu/.docker/machine/certs/cert.pem Running pre-create checks... Creating machine... (dev) Creating VirtualBox VM... (dev) Creating SSH key... (dev) Starting VM... Waiting for machine to be running, this may take a few minutes... Machine is running, wait
CoreOS is Linux for Massive Server Deployments · CoreOS CoreOS + Docker Meetup Tokyo #1に参加してCoreOSにめっちゃ感動したので,CoreOSに入門していろいろ触ってみた. まず,CoreOSの概要とそれを支える技術について説明する.次に実際にDigitalOcenan上にVagrantを使って実際にCoreOSクラスタを立てて,CoreOSで遊ぶ方法について書く. CoreOSとは何か CoreOSは,GoogleやFacebook,Twitterといった企業が実現している柔軟かつスケーラブル,耐障害性の高いインフラの構築を目的としたLinuxディストリビューションである.軽量かつ使い捨てを前提にしており,クラウドなアーキテクチャのベストプラクティスを取り入れている.CoreOSの特徴は大きく4つ挙
Kubernetesは、数十から数百といったコンテナからなるアプリケーションのデプロイや管理、死活管理といった運用を支える機能を備えています。主な機能や仕組みを紹介します。 コンテナ型仮想化のDockerを管理するフレームワークとして、Googleがオープンソースとして公開したKubernetesが急速に注目を集めています。KubernetesのプロジェクトにはDocker本体はもちろん、マイクロソフトやレッドハット、IBM、VMwareなどが参加を表明しており、事実上の標準になりそうな勢いです。 Kubernetesはどのような機能を持ち、仕組みはどうなっているのか。有志により都内で開催された「第20回 PaaS勉強会」の草間一人氏のセッション「Kubernetesを触ってみた」の内容をダイジェストで紹介します。 NTTコミュニケーションズという会社で、Cloudn PaaSというClo
ちょっと前から Docker を使っているので、その話。 Dockr について Docker は dotcloud がオープンソースで公開している、コンテナ技術による仮想化ソフトウェア。 以下のテクノロジーベースにしている: LXC 前にも書いた。Xen とか VirtualBOX みたいにホスト内に仮想マシンを立ち上げるんじゃなくて、ホスト内の隔離された環境で仮想マシンを動かす技術。物理マシンをシミュレーションしているんじゃないってことは、VPS とか EC2 とかの仮想マシン上でも問題なく動くし、マシンを起動するプロセスが不要となるので、一瞬で使い始められるというメリットにつながっている。 AUFS UnionFS(ディレクトリを重ね合わせることができる)の実装の一つ。元の仮想マシンイメージを書き換えないで、更新が発生した部分は別の場所に書き込んでいくようになっている。これにより、仮想
Dockerすごい面白そうです。 最近ハッカソンに行ったりして、プロダクション環境へのデプロイ周りですごいはまった。特にお金もない自分は1つのサーバーの中にいろいろとアプリケーションをデプロイしちゃっている訳ですが、もうごちゃごちゃになって触りたくなくなりそう...。新しくサーバーをデプロイしたいけども、既存のサービスまで影響が及ぶ危険性もあり、めんどくさいなー。あと、あとできっと破棄するだろうけど、もとに戻すこともかなりめんどくさいし、そんなことやりたくないしなー。もっとアプリケーション毎に気軽に(そしてお安く)デプロイ出来ればいいのになー。 と思っていた訳ですが、最近Dockerというものを目にしまして。 Docker, Mesos, Sensu等を利用したBlue-Green Deploymentの仕組み 本番環境のBlue-Green Deploymentの仕組みのプロトタイプを作
DockerにはDockerfileというものがあります。 docker buildを行うと、指定したパスからDockerfileを探し、コンテナを新規作成し記述されたステップを実行した後、コミットをしてコンテナイメージの作成までを自動で行います。 たとえば $ docker build -t hoge/moge /path/to/contxt/ とすると、/path/to/contxt/ディレクトリにあるDockerfileを元にステップ実行したコンテナをhoge/mogeというリポジトリ名で保存するところまでを自動で行ってくれます。 Dockerfileの記述フォーマットは、基本的に 命令 引数 という形式で記載します。 命令 命令には以下のものがあります。 FROM コンテナの元になるベースイメージの指定をします FROM <image> MAINTAINER 生成されるイメージのA
前回の「ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方」では、Docker EngineのインストールからDockerコンテナーを作成し、Dockerイメージに保存するところまでを紹介しました。 Dockerは開発のスピードが速く、7月3日にはバージョン1.1.0がリリースされています。詳細はブログ「ANNOUNCING DOCKER 1.1.0」を参照してください。 今回は、Dockerコンテナーの構成とDockerイメージの作成を一括で行う、「Dockerfile」ファイルと「docker build」コマンドの利用方法を紹介します。 docker run/docker commitコマンドによるコンテナー作成の限界 前回はDockerコンテナーを「docker run」コマンドで起動し、コンテナー内でソフトウェアのインストールやサービス起動など自由に構成で
開発環境を構築したり、ツールを導入したりするのに、パッケージ管理システムはよく使われる。よく目にするものでも、Homebrew・yum・apt-get・npm・pip・gem...などいろいろある。 パッケージ管理システムはエンジニアを面倒な作業から開放してくれる。コマンドひとつで、オンラインからパッケージを探せて、ダウンロードでき(リポジトリの機能)、パッケージを追加したり削除したりもできる(インストーラの機能)。さらに、パッケージに必要な別のパッケージを同時にインストールしてくれる(依存関係解決機能)。たとえば、Ubuntuでhttpieが欲しいと思ったら、次のコマンドを打ってしばらく待てば使えるようになる。 パッケージ管理システムとしてのDocker ところで、話題のツールにDockerがある。Dockerはインフラ構築の文脈で、開発環境や本番サーバのプロビジョニングして配置するよう
挨拶 Trifortの林原です。 早いもので新卒で入社してから半年程経ちました。 最近はインフラとサーバサイドを半々でやることが多くどうせどっちもやるならと色々手を出したりしてるので何か役に立つネタがあればご紹介出来ればと思います。 このブログの環境 とりあえずパッと書くネタが思いつかなかったのでこのブログの環境をDockerで構築したことを紹介しようと思います。 所々簡略化してますが下図のようになってます。nginx (Reverse proxy, App) + Docker + php5-fpm + wordpress が1台のマシンの中で同居し、ホスト側のnginxで受けたリクエストをDockerの管理下container内のnginx + php5-fpmに対してプロキシしています。 収容する各wordpressに対してコンテナを一つずつ用意することで独立性を確保し仮に複数運営する
Panamax はオープンソースのDockerコンテナ管理ツールです。複数のアプリケーションコンテナをリンクさせたやや複雑なDockerベースのマルチコンテナ環境の構築に便利です。 これまでDockerコンテナ管理ツールでは、複数のアプリケーションコンテナをリンクで連携させたマルチコンテナ環境の構築はやや手間がかかりましたが、Panamaxではマルチコンテナ環境の構築に必要な工程の一部が自働化され、直感的なWebインターフェイスで操作できるので、複雑なマルチコンテナ環境の構築を手助けしてくれます。また、systemdのunitファイルを自動管理してくれるので、何らかの理由でコンテナを搭載しているホストが再起動しても、再起動後にはコンテナが自動起動してくれるところまで勝手にやってくれます。つまるところ、ユーザーにとってはdocker+fleet+etcd+systemdのCLIオペレーション
コンテナ型仮想化は LXC を直で使おうとして一旦諦めたクチなんだけど、最近 Docker が登場してだいぶ便利になったらしいので試しに使ってみる。 コンテナ型仮想化というのは、ゲスト OS をホスト OS のカーネル内で分離する技術をいう、と思う。 ハイパーバイザ型仮想化に比べると一般に仮想化に必要なオーバーヘッドが少ないのがメリットとされている。 ただし、ホスト OS とゲスト OS がカーネルを共有するため、幾ら内部的に分離されているとはいえカーネルモジュールを使ったりするような一部の機能とは相性がよろしくない。 まず Docker は EPEL からインストールする。 $ sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo yum -
いままでMacOS/UbuntuでVagrantを利用してCentOSを仮想化して開発を行ってきましたが、仮想化されたCentOSは決してコンパクトではなく可搬性がとても低いと感じていました。本番環境と同じOSを利用するためにUbuntu上でCentOSを動かすのも無駄かなと。 そこで最近仮想化で話題のDockerを利用し、コンテナ型仮想環境へ移行することにしました。Dockerがもっと安定してきたら本番環境にも是非適用してみたいと考えています。 Homepage - Docker: the Linux container engine https://www.docker.io/ この投稿は長くなりそうなので、何回かに分けて投稿していきます。本投稿ではCoreOSを仮想環境上に構築し、Dockerの動作を確認するするところまで説明していきます。 UbuntuではネイティブでDockerが
いやー今年もISUCONの予選参加募集がはじまりましたね! 昨年は出題側だったので胃が痛かったですが、今年は参加側ですので大変楽しみにしております。@acidlemonです。 Docker使ってますか? さてみなさん、Docker使ってますか? 使ってる? 使ってない? ぼくは使ってませんでした。えー今どきBlue-Green Deploymentやってないの? Immutable Infrastuctureじゃないの? と言われそうですが、世の中にはいろんなしがらみとかもあってなかなか簡単にエイヤーでコンテナに移行できるわけでもないのは皆さんなんとなく感じているのではないでしょうか。 とはいえ、最近これだけ話題になっているDockerですので、そろそろ使ってみたいなぁ…ということで、まずは開発環境をDockerで上げられるようにしました。 Dockerでコンテナを作るときには2つのアプロ
左利きのペン事情 2015年7月19日 特に手書きが必須な職業ではないので、一般的には普段使いのペンと言えばボールペンで良いとは思いますが、昔から私はボールペンだと字が上手く書けません。というかそもそもちゃんと線が引けません。 トラベラーズノートのお手入れ 2015年6月29日 恐ろしいことにトラベラーズノート買った時の記事以降、まるでブログの記事を書いてない上にまたトラベラーズノートの記事になります。 システム手帳からトラベラーズノートに乗り換えてみた 2014年10月19日 少し前の話なんですが、これまでダヴィンチのシステム手帳を使っていたのですが、前から気になってたトラベラーズノートを買ってみました。 VPS内のLAMP環境をDockerコンテナに移行する 2014年8月18日 前回、Dockerをインストールしコンテナを作れることを確認したので実際にVPSに入っているLAMP環境を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く