現在、ansible-containerプロジェクトは開発終了しています。詳細は同プロジェクトのGitHubページをご覧ください。 昨今利用者が増えている構成管理ツール「Ansible」については以前にも紹介したが、このAnsibleをDockerコンテナのビルドに使用するツール「Ansible Container」が登場した。Ansible Containerを利用することで、Dockerコンテナイメージをより簡潔に管理できるようになる。今回はこのAnsible Containerの概要と基本的な設定方法を紹介する。 Ansible Containerとは Dockerコンテナを作成するための方法は複数ある。たとえばdockerコマンドには、「Dockerfile」という設定ファイルを元にコンテナを作成する「docker build」サブコマンドが用意されているが、これ以外にもDocke
Is it possible to generate a Dockerfile from an image? I want to know for two reasons: I can download images from the repository but would like to see the recipe that generated them. I like the idea of saving snapshots, but once I am done it would be nice to have a structured format to review what was done.
~/git/testserver (develop ✘)✹ ᐅ docker-machine rm default Successfully removed default ~/git/testserver (develop ✘)✹ ᐅ docker-machine create default --driver virtualbox --virtualbox-disk-size "500000" Creating VirtualBox VM... Creating SSH key... Starting VirtualBox VM... Starting VM... To see how to connect Docker to this machine, run: docker-machine env default ~/git/testserver (develop ✘)✹ ᐅ ev
はじめに あなたは Docker イメージを作る際に start.sh や startup.sh というファイルを作った経験はないだろうか。「Dockerfile の CMD だと 1 コマンドしか書けないから、シェルスクリプトで頑張る」というやつだ。例えば、環境変数を受け取って設定ファイルを動的に作ったり、メインプロセス起動前に何かしら初期化処理をするなど。そんなあなたに Entrykit というツールを紹介しよう。 Entrykit とは Entrykit は一言でいうと、コンテナ内のプロセス起動時に便利な軽量 init システムだ。Docker の起動コマンドに Entrykit を使うと、起動時にテンプレートファイルを元に設定ファイルをレンダリングしてくれたり、メインプロセスの前にコマンドを実行できたりする。 公式サイト - https://github.com/progrium/
{ switch(e.key) { case 'k': if (e.metaKey || e.ctrlKey) { e.preventDefault() open = !open; if (open) { document.body.classList.add('overflow-hidden'); } else { document.body.classList.remove('overflow-hidden'); } } } }"> OverviewGet Docker Docker Desktop Overview Install MacUnderstand permission requirements for MacWindowsUnderstand permission requirements for WindowsLinux Installation per Linux d
概要 CoreOS 上の全てのログをリモートサーバへ送る を応用し、systemd で起動した Docker コンテナのログをリモートサーバへ送る。 systemd で Docker コンテナを起動しておけば journalctl でログが取得でき、さらに systemd の unit のグルーピング(bind)機能を使ってログルーティングプロセスをバインドする。これは "coprocess" や "sidekick" というらしい。 ログの収集 コンテナのログ収集は systemctl を使ってコンテナを起動するだけでよい。そうすれば journalctl でログを見る事が出来るようになる # /etc/systemd/system/hello.service [Unit] Description=Hello After=hello.service Requires=docker.ser
golangをDockerでデプロイする¶ (golangでDocker上にデプロイする際に得られた知見を共有します。間違いやもっといい方法があればご指摘下さい) golangはlibcなどに依存せず、さらにすべてstatic linkする、という特徴があります。これはどういうことかというと、golangで出力したバイナリが一つだけあれば動作する、ということです。 golangバイナリをDocker上で動かす¶ Dockerは異なる環境を動かすコンテナとして優れています。しかし、baseとなるイメージが巨大だったり、 docker pullは安全なの? だったりという問題も抱えています。 しかし、golangを使っている場合は、上記の特徴があるため、 出力したバイナリ + 必要なファイル だけで動作できます。(ただし、cgoなどを使っていない場合に限ります) 例¶ 1. tar.gzを作成
皆さんこんにちは。 アキバです。 久しぶりにエントリ書きます。 突然ですが、今、システムをデプロイすると言ったら自動化しますよね。 そこで、皆さんは何を使っていますか? 私は、最近、DockerとAnsibleを仕事でガチに触る機会がありました。 ※本番運用のサーバもDockerを使って動作させました。 今回は、そこで得たことについて書きます。 皆さんの参考になればと思います。 命題:Dockerを使うべきか、Ansibleを使うべきか。 作るべきシステムは、いわゆるWebシステムで、WEBサーバとAPサーバで構成しています。 WEBサーバとAPサーバはそれぞれN台のクラスタ構成です。 ※以下の図は、本番運用で想定しているサーバ構成を今回の説明用に抽象化したものです。 N台のクラスタ構成ということで、Dockerを使おうとなりました。 コンテナでスケールアウト出来るから…ですね。 さてここ
ども、大瀧です。 Dockerバージョン1.6でLogging Driverというプラガブルなログ機構が追加され、DockerコンテナのログをSyslogに送信するなど柔軟なログ構成ができるようになりました。 ログアグリゲータとして著名なFluentdのLogging Driverが最近Dockerのmasterブランチにマージされたので、試してみた様子をご紹介します。 検証環境 OS : Ubuntu 15.04 Vivid Vervet(AMI : ubuntu-vivid-15.04-amd64-server-20150616.1 (ami-0473a904) 東京リージョン) Docker : Master Binaries 1.8.0-dev/Git commit: 90024b9 まだリリースされていない段階なので、最新リリースのDockerパッケージをインストールした状態でG
logspoutでDockerコンテナのログの集約・ルーティング progrium/logspout logspoutは,ホスト内で動かした全てのDockerコンテナの出力を集約して,好きなところに飛ばす(ルーティングする)ためのツール.開発者はDokkのJeff Lindsay. 以下の2つの特徴がある コンテナとして起動(ステートレス) HTTP APIによるルーティングの設定 ログを貯めて管理したり,検索するといったことはできない.コンテナのログをリアルタイムで好きなところに飛ばすだけ. これだけだが,Dockerのログの問題をいい感じに解決してくれそう. Dockerのログのしくみ まず,簡単にDockerのログのしくみを説明する. 現時点(2014年5月)でDockerはコンテナ内で吐き出されたstdout/stderrを取得することができる.コンテナのプロセスがstdoutとs
DockerHubでは公式のMySQLイメージが無料で公開されています。 これを使えば簡単にDockerでMySQLサーバを起動することができます。データの永続化もできます。 https://hub.docker.com/_/mysql/ 2015年10月現在では下記3種類のバージョンが用意されています。 タグを指定することで任意のバージョンのイメージを取得できます。 5.5 5.6 5.7 (latest) イメージの取得方法 docker pull mysql これで最新の安定版を取得できます。 バージョンを明示的に取得したい場合はタグを使います。 docker pull mysql:5.7 (2015/10/25現在だと、mysql, mysql:latest, mysql:5.7, mysql:5.7.9はどれも同じイメージを指します。) これのDockerfileを見たい場合はこ
10. コンテナを実現するカーネル機能 名前空間とも呼ばれ、マウント、ホスト・ドメイン名、プロセス空間、ソケットや メッセージキューの空間、ユーザ・グループ、ネットワークなどの名前空間ごとに 識別・隠蔽できる機能。例えば、マウント名前空間を使うと、名前空間内で行った マウント操作を他の名前空間には反映させないといったことができる。すなわち, コンテナ内でマウント操作を行った場合、そのマウントはホストOSや他のコンテ ナからは見ない。 名前空間の名前 隔離されるリソース 実装されたカーネル バージョン マウント名前空間 マウントの集合,操作 2.4.19 UTS名前空間 ホスト名,ドメイン名 2.6.19 PID名前空間 プロセスID(PID) 2.6.24 IPC名前空間 SysV IPCオブジェクト,POSIXメッセージキュー 2.6.19 ユーザ名前空間 UID,GID 3.8 ネット
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpoolというソフトウェアがあります。 poolとは poolは、WebアプリとDockerfileをGitで管理している場合に、コミットidをサブドメインとして( http://<commit-id>.pool.dev/ )poolにアクセスするだけで、そのGitレポジトリのコミット時の状態でWebアプリのDockerイメージをデプロイし、Webアプリのポートへとリバースプロキシして、Webアプリのレスポンスを返します。もちろん、コミットidをキーに複数の状態にどんどんアクセスできます。(mod_mrubyのユースケースを調査していてたまたま見つけました)。 このp
環境構築 普通に Boot2Docker をMacにインストールしました。Boot2Dockerは ここのブログの中ほどの画像のようにVitualBox上でDockerサーバーを動かし、Macの dockerコマンドがDockerサーバーと通信して動作します。 Dockerサーバーの作成・起動などは boot2docker コマンドで行います。 作成・起動は、 % boot2docker init % boot2docker up これで、dockerコマンドが使えるようになりますが、通信用のDOCKER_HOST環境変数を設定する必要があります。 % export DOCKER_HOST=tcp://192.168.59.103:2375 % docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE nginx latest c
Dockerに最適化したOSイメージをGoogle Compute Engineが提供開始。CoreOSも利用可能に Google Compute Engineは、Dockerに最適化されたOSイメージをオープンプレビュー版として提供開始しました。また、Dockerのために開発されているCoreOSの正式にサポートを開始しました。 Debian 7をベースにDockerに最適化されたOSイメージ ドキュメント「Containers on Google Cloud Platform」によると、Google Compute Engineで提供されるようになった「Container-optimized Google Compute Engine images」、コンテナ最適化イメージは、主に以下の3つから構成されています。 Debian 7 Dockerランタイム コンテナ管理用のメタデータフレ
まえおき 2つくらいデプロイしたい新規のアプリがあったので運用方法の候補に Docker も検討した 検討段階で既にいくつか課題点が見えた Docker に興味ありそうな人たち (@deeeet @repeatedly @kenjiskywalker @punytan) で寿司した 参考画像 pic.twitter.com/wGcPZw0bVp — ヾ(o゜ω゜o)ノ゛''''プニプニ! (@punytan) May 9, 2014 tl;dr プロダクションで Docker 使うのは今のところ人柱 盛り上がってる感はあるけど実際使ってる人いない Docker は周辺のミドルウェアが揃わないとなかなか使いにくい 話題ごとに箇条書きメモ 運用 アプリのログを完全に回収する方法どうする? ホストのディレクトリをマウントしてそこに書き込む? ログ回収しきってからコンテナ止める安全な方法は? コン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く