Docker Meetup Tokyo #24 https://dockerjp.connpass.com/event/93140/
この記事について Dockerfile Best Practices を独学用にまとめたものです。理解を深めるために、順序を入れ替えたり、元の記事にない記述を足したり、逆に削ったりしています。まとめていて感じたのは、レイヤがどのようにできるか、どのような条件でキャッシュを使うかの理解が重要だと感じました。 [元記事はこちら] https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ レイヤの考え方について Docker イメージは read オンリーのレイヤーから構成されています。個々のレイヤは Dockerfile の各行に該当します。レイヤは前のレイヤからの差分としてスタックされ積み重なっていきます。例えば、次の Dockerfile を考えます。 各行のコマンドは一つのレイヤを作ります。 イメー
Googleがオープンソースで公開したgVisorは、準仮想化のような仕組みを用いて従来のコンテナよりも安全性を高めたコンテナランタイムだ。Kubernetes時代の標準コンテナランタイムとなる有力候補かもしれない。 Dockerなどに代表されるコンテナ型仮想化は、OSのユーザー空間の名前空間を分離することなどで実現されています。 この仕組みの利点は、あらかじめ起動されているOSの上で名前空間を分離するだけでコンテナが起動できる点にあります。これがコンテナの迅速さや軽量さにつながっている一方、コンテナ間でOSのカーネルを共有しているためにコンテナ間の分離レベルは高くなく、同一OS上で稼働している別のコンテナの負荷の影響を受けやすかったり、コンテナからOSのシステムコールを直接呼び出せることなどによるセキュリティ上の課題を引き起こしやすくもあります。 OCIに準拠し、runc互換のgViso
前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。本記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ
Hosted platform for developing, deploying, managing and scaling your fleet of devices
SchemaSpyというDBのスキーマを解析してテーブルの一覧やER図を出力してくれるツールがあります。 このツールの公式Dockerイメージが公開されており、非常に使いやすいので紹介させて頂きます。 https://hub.docker.com/r/schemaspy/schemaspy/ コマンド docker run -v "$PWD/schema:/output" --net="host" schemaspy/schemaspy:snapshot \ -t <DB種類> -host <DBホスト名/IP>:<ポート> -db <DB名> -u <DBユーザー名> -p <DBパスワード> このコマンドを実行するとカレントディレクトリのschemaディレクトリに解析結果のHTMLが出力されます。 (コンテナは自動的に終了します) docker run のオプション -vオプションで指
2018-08-06 15:38 Stable版で復活のお知らせ Docker Community Edition 18.06.0-ce-mac70 2018-07-25 にて再度rawフォーマットが利用可能になりました。 Re-enable raw as the the default disk format for users running macOS 10.13.4 and higher. Note this change only takes effect after a “reset to factory defaults” or “remove all data” (from the Whale menu -> Preferences -> Reset). Related to docker/for-mac#2625 Docker for Mac Stable release
What's this? Docker, Inc is Dead の翻訳記事です。 ご本人の許可は取っていますが、僕が英語ペラペラではないため、読み辛いのはもちろん、一生懸命訳してはいますが誤訳・ミスリードなどあるかもしれません。 ですので、100%正確な内容を把握したい方は原文をお読みください。また、ここ間違ってるよ!ニュアンスが違うんじゃない?などありましたらお気軽に(優しく)コメントいただけると幸いです。 Docker, Inc is Dead / Docker社は死んだ Dockerにとって、2017年は非常に辛い1年だったと言っても過言ではありません。Uberを除いて、より活用され、賞賛され、十分に資金提供を受けたシリコンバレーのスタートアップの中で、Dockerが2017年に行ったような悪手を打ったスタートアップは思い浮かびません。人々は2017年を、ソフトウェアの偉大な一部分
DISCLAIMER: The views expressed in this article are solely mine. They do not reflect the opinion of my employer, nor that of any group I am affiliated with, sponsored by, or employed by. Please read my Disclaimer before breaking out the tar and feathers. To say that Docker had a very rough 2017 is an understatement. Aside from Uber, I can’t think of a more utilized, hyped, and well funded Silicon
Networking features in Docker for Mac | Docker Documentation コンテナ中で docker.for.mac.localhost というDNS名を使うと、ホストのmacOSに繋がります。 メリークリスマス。 追記(2018/01/06 21:00) Docker 17.12.0から新たに同じ用途の docker.for.mac.host.internal が追加され、今後はこちらが推奨されます。 これはlocalhost のサブドメインを禁止するRFCが提案されていることによります。 謹賀新年。 追記(2018/03/27 11:00) https://docs.docker.com/docker-for-mac/release-notes/#stable-releases-of-2018 Docker 18.03.0からさらに ho
builderscon 2017 tokyo で話したものです
Rust言語による新しいDockerコンテナランタイム実装「Railcar」、オラクルがオープンソースで公開。なぜRustでコンテナランタイムを実装したのか? Rust言語で実装したコンテナランタイムの「Railcar」を、オラクルがオープンソースとしてGitHubで公開しました。 Railcarはコンテナランタイム標準であるOCI(Open Container Initiative)に準拠してているため、Dockerのバックエンドとしても利用可能と説明されています。 なぜDockerをRust言語で実装するのか Railcarの公開を明らかにしたOracle Developers Blogに投稿された記事「Building a Container Runtime in Rust」によると、Rust言語でコンテナランタイムを実装した理由が次のように説明されています。少し長いのですが、引用し
docker for macを使っているユーザが抱えている大問題。それが shared directory 遅い問題。このエントリでは、何故遅いのか、どうしたら良いのかをまとめた。 フォーラムの元ネタFile access in mounted volumes extremely slow, CPU bound - Docker for Mac - Docker Forums GithubのissueFile access in mounted volumes extremely slow · Issue #77 · docker/for-mac · GitHub ※注 超長い どんな問題が起きているのか? Symfonyプロジェクトでブラウザ経由で開発環境にアクセスするとページ表示に30秒かかる コンテナ内で npm install すると10分以上経っても終わらない コンテナ内で gu
モバイルアプリサービス部の五十嵐です。 先日、あるRailsアプリケーションの開発環境を同僚のマシンに作成しようとしたところ、gemのインストールに1日かかってしまいました。環境構築は手順化されていたのですが、トラブったのは主にNative Moduleを利用する libv8 、 therubyracer 、 rmagick などのおなじみの面々です。手順を作った時は、これらのgemのインストールに必要なライブラリを brew install で最新バージョンをインストールするだけでよかったのですが、時が経ちライブラリの最新バージョンが更新されていたことが主な原因でした。この状況はいかんな〜と思い、Railsアプリケーションの開発環境もDockerにすることにしました。 本記事では、Railsアプリケーションの開発環境をDockerにするときに検討したことや問題点などを書いています。なお、
追記 直近の Docker 界隈について Linux コンテナ 参考 Linux コンテナとは Linux コンテナを構成する主な機能 OS リソース毎の Namespace cgroup サブシステム こんなにざっくりでは、Linux コンテナは語れないと思うけど haconiwa haconiwa とは haconiwa で何が出来ると? haconiwa 導入 はじめての haconiwa (1) はじめての haconiwa (2) 〜 コンテナ作成 〜 はじめての haconiwa (3) 〜 コンテナ起動 〜 haconiwa で学ぶ Linux コンテナ .haco ファイル再掲 namespace を弄る前に namespace uts namespace pid 俺は Linux コンテナについてなんにも解っていなかった(まとめ) haconiwa は Linux コンテ
以前に私が書いた「 Dockerの本番運用:失敗の歴史) 」という記事は、非常に多くの反響を呼びました。 その後、長い議論を交わして、何百件ものフィードバックや何千件ものコメントを読み、さまざまな人々や主要事業者とも顔を合わせました。Dockerでの試みが増えるほど、その失敗談は増えていきます。そうした現状を、今回アップデートしておきたいと思います。 この記事では、最近の交流や記事から得た教訓を紹介しますが、その前に簡単におさらいをして軽く背景を説明しましょう。 免責事項:対象読者 たくさんのコメントから、世の中には10種類の人々が存在するということが明らかになりました。 1) アマチュア 実際のユーザがいない試用版のプロジェクトやサイドプロジェクトを実行している人々です。Ubuntuのベータ版を使用するのが当然だと考えており、「安定したもの」は古いものと見なすようなタイプです。 注釈:書
ども、大瀧です。 昨日から開催されているDockercon 17では、Docker関連の多くの発表がありました。 その中のひとつにMobyプロジェクトがあり、プロジェクト発足に合わせてGitHubのdocker/dockerリポジトリがmoby/mobyリポジトリに移動しました。今後Docker CE(Community Edition)のソースやIssueなどを見るときは、こちらのリポジトリにアクセスしましょう。 このブログでお伝えしたいことは以上なのですが、「Mobyってなんだよ?!Dockerが名称変更したの?」と言われそうなので、ちょっとだけ解説します。経緯についての一次情報は、以下をご覧ください。 Transitioning to Moby by shykes · Pull Request #32691 · moby/moby ほどなくちゃんとした説明がDocker社のブログなど
概要 4/18(現地) DockerCon2017 で、Docker から LinuxKit (https://github.com/linuxkit/linuxkit) の公開とオープンソース化の発表がありました。ブログにも該当の解説記事が公開されており、例によって内容の把握用に、雑に訳しました。参考程度に留めて頂ければ幸いです。 原文 Announcing LinuxKit: A Toolkit for building Secure, Lean and Portable Linux Subsystems - Docker Blog https://blog.docker.com/2017/04/introducing-linuxkit-container-os-toolkit/ LinuxKit の公開:安全、無駄のない、ポータブルな Linux サブシステム 去年、私たちが皆さんか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く