CloudNative Days Tokyo 2019 の講演資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。
![歴史から紐解くLinuxカーネルのコンテナ機能 / CNDT2019](https://cdn-ak-scissors.b.st-hatena.com/image/square/71675f9d019eb5ca8d0edee1045ca6fa985655a4/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F0d1b0d7fb7d245d79bf0af8e2b5c0f71%2Fslide_0.jpg%3F13104430)
こんにちは。po3rinです。今回はDocker Meetup Tokyo #29 (Docker Bday #6)で少し話題になった小ネタです。タイトル通りDockerfile1つでGoの開発環境(ホットリロード)と本番環境(マルチステージビルド)を記述する方法を紹介します。今回は「この方法をおすすめします!」というよりかは「こういう方法もあるよー」という紹介なので、開発の状況に合わせて方法を選んでいくと良いでしょう。 イントロ 開発環境用と本番環境でイメージビルド過程を分けるモチベーションとしては、開発環境用はホットリロードしたいけど、本番はビルドしたバイナリだけを使いたいという思いなどがあります。 これらを2つのDockerfileに分ける場合、同じディレクトリ階層に「Dockerfile」という名前のファイルを2つ置けません。これに関して、下記の記事のようにdocker build
Google Cloud Container Builder でbuildする時に高速化する為にいろいろ奮闘中 multi stageなDockerfileの中間イメージにタグをつけたい場合があったのでメモ 背景 Google Cloud Container Builderでのビルドを高速化する為に、キャッシュに使うイメージを事前にpullしておく必要がある https://cloud.google.com/container-builder/docs/speeding-up-builds マルチステージなDockerfileのビルド時に最終的なビルド結果のイメージをキャッシュしても、中間イメージのキャッシュが無いので高速化されない 中間イメージのbuildが一番重いので、中間イメージにキャッシュを使って欲しい その為には中間イメージもpushしておく必要がある multi-stage と
You’re seeing information for Japan . To see local features and services for another location, select a different city. Show more A Docker registry’s primary purpose is to store and distribute Docker images. This may seem like a relatively trivial task, but with a large-scale compute cluster like Uber’s, it can easily turn into a scaling bottleneck. In computing environments with multiple regions
背景 Dockerfileを静的解析したいと思い便利なツールがないかと探していたら発見しました。 DockerfileのLintツール ◆ hadolint/hadolint エラーが出るDockerfileをビルド前に検知してくれます。 ちなみにHaskellで書かれているようです。 現時点での最新バージョンはv1.15.0でmac等にも対応している。 GitHubのスター数は1000程である。 lintとは wikiより引用 lint とは、主にC言語のソースコードに対し、コンパイラよりも詳細かつ厳密なチェックを行うプログラムである。 型の一致しない関数呼び出し 初期化されていない変数の参照 宣言されているが使われていない変数 同じ関数を参照しているが、戻り値を使う場合と使わない場合がある[疑問点 – ノート] 関数が戻り値を返す場合と返さない場合がある など、コンパイラではチェックさ
NTTの須田です.Moby (≒Docker),BuildKit,containerdなど,コンテナ関連のオープンソースソフトウェアのメンテナ (開発委員.コミッタとも.)を務めています. 本記事では,2018年11月8日にリリースされたDocker 18.09の新機能を紹介します. BuildKitの正式統合Dockerfileからコンテナイメージをビルドする機能である,docker build の新しいバックエンドとして,BuildKitがDocker 18.06より実験的に採用されていましたが,Docker 18.09にて,正式な機能に格上げされました. BuildKitは,須田が2017年4月に提案した docker build並列化のpull requestを契機として,Docker社 Tõnis Tiigi氏の主導により,Moby傘下のオープンソースプロジェクトとして同年夏に発
2通りのやり方がある。pull/cache-from を使う方法と、save/load を使う方法。 手元のプロジェクトだと前者の方がだいぶ速い。 1. pull/cache-from を使う方法 version: 2 jobs: build: machine: true environment: - DOCKER_IMAGE_REPO: your-private-repository working_directory: ~/your-repo steps: - checkout - # ...必要に応じて ecr login など - run: docker pull $DOCKER_IMAGE_REPO:latest - run: docker build -t circleci --cache-from $DOCKER_IMAGE_REPO:latest . - run: dock
ウェブ・アプリケーションの構築は、安全についての考慮が必要であり、そのために Docker ネットワーク機能を使います。ネットワークとは、定義上、コンテナのために完全な分離(isolation)を提供するものです。そして、アプリケーションの実行にあたり、ネットワーク管理は重要であることを意味します。Docker コンテナ・ネットワークは、これらを管理するものです。 このセクションでは、Docker Engine ドライバ固有の標準ネットワーク機能について、その概要を扱います。ここでは標準のネットワーク・タイプについてと、どのようにして自分自身でユーザ定義ネットワークを使うのかを説明します。また、単一ホストまたはクラスタ上をまたがるホストにネットワークを作成するために必要なリソースについても説明します。 デフォルト・ネットワーク Docker をインストールすると、自動的に3つのネットワーク
前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。本記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ
概要 この記事では、アプリケーションコンテナのランタイムであるDockerとrktについて、 2つの大まかな違いを説明し、Dockerとrktそれぞれを使用してコンテナの取得・作成・起動・破棄など基本的なコンテナ操作を実施してみます。 記事全体として「Dockerはある程度知ってるけど、それに比べてrktってどうなんだ?」というトーンで書いています。 Dockerとは 公式:https://www.docker.com/ Docker社が開発しているオープンソースのコンテナランタイムです。 コンテナ技術自体は決して新しくはないですが、その使いやすさからある種のコンテナブーム(?)を巻き起こしたともいえるかと思います。 詳しい情報は、ググれば良い記事が山ほど出てくるので割愛します。 rktとは 公式:https://coreos.com/rkt/docs/latest/ CoreOS社が開発
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く