Infra Study 2nd #2「クラウドネイティブを支えるインフラ技術」の講演資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。
はじめに 本稿では「コンテナを作る方法は Docker 標準 (containerd + runc) だけじゃないのは分かった、では何を使えば良いのか?」という疑問について、低レベルコンテナランタイムに焦点を絞り、答えを追い求めた結果を書き記します。 この記事は以下の内容で構成されています。 主要なコンテナランタイムの特色のまとめ過去に行われた、コンテナランタイムの性能比較結果のまとめ独自に行った、runc と Nabla Containers のアプリケーション動作パフォーマンスの比較 コンテナランタイムの概要については以下を参照してください。 1. コンテナランタイムの概要 - このアプリ、 gVisor 上でも動きますか? 目次 runcgVisor (runsc)Kata containersNabla containers (runnc)パフォーマンス比較コンテナライフサイクルコ
最近実際に開発現場にコンテナを導入してきた経験から、公式ドキュメントに記載されているベストプラクティスに実際どうなんだということを言ってみようと思います。公式に書いてあることを間違ってると指摘という意図はありません 発言は個人の見解に基づくものであり、所属組織を代表するものではありません。 2023/12/3更新: 燃えかけてるのでタイトルを変えました。 補足: こちらの環境は下記を想定しています。 Java CICD/本番環境イントラネット内に整備 WF開発 マルチステージ・ビルドを使う マルチステージビルドの目的 公式ドキュメントには、下記のように記載があります。 マルチステージ・ビルド は、中間レイヤとイメージの数を減らすのに苦労しなくても、最終イメージの容量を大幅に減少できます。 つまり、最終イメージの容量を減らすことが目的であって、その一つの手段としてマルチステージビルドを進めて
NTT Tech Conference 2022 での「Dockerからcontainerdへの移行」の発表資料です https://ntt-techconf.connpass.com/event/241061/ 訂正: P2. . 誤: ``` Ship docker run -it --rm alpine Run docker push ghcr.io/ktock/myalpine:latest ``` 正: ``` Ship docker push ghcr.io/ktock/myalpine:latest Run docker run -it --rm alpine ``` Read less
A talk at Kubernetes Novice Tokyo #10
章立て はじめに Docker・Container型仮想化とは Docker一強時代終焉の兆し Container技術関連史 様々なContainer Runtime おわりに 1. はじめに Containerを使うならDocker、という常識が崩れつつある。軽量な仮想環境であるContainerは、開発からリリース後もすでに欠かせないツールであるため、エンジニアは避けて通れない。Container実行ツール(Container Runtime)として挙げられるのがほぼDocker一択であり、それで十分と思われていたのだが、Dockerの脆弱性や消費リソースなどの問題、Kubernetes(K8s)の登場による影響、containerdやcri-o等の他のContainer Runtimeの登場により状況が劇的に変化している。本記事では、これからContainerを利用したい人や再度情報
https://speakerdeck.com/ktock/dockerkaracontainerdhefalseyi-xing背景: Kubernetes 1.24は組み込み機能としてのDocker対応を打ち切る2014年に公開された初期のKubernetesはDockerにのみ対応していましたが、2016年のKubernetes 1.5では Container Runtime Interface (CRI) と呼ばれる共通インターフェースが導入され、 CRIに対応した任意のランタイムが利用可能になりました。以来、様々なランタイムが開発されてきましたが、2022年現在では containerd と CRI-O の 2つが主流です。 CRIが導入されてからも、Kubernetesに組み込まれているDocker対応機能(dockershim)が広く使われていましたが、2022年4月リリース予
Javaアドベントカレンダーにエントリーした記事になります。 Javaのイメージを作る上で、どのDockerイメージをベースに選べばいいのか、というのを軽く調べ始めたら、選択肢がたくさんでてきたので、ちょっと突っ込んで調べてみました。 以前、仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で書いたOS名とかは今回は紹介しませんので、busterとかalpineとかwindowsservercoreってなによ?というお話はそちらの記事を参照してください。一点アップデートがあるのは、Debian 11がリリースされて、イメージとしてbullseyeというのが追加された点ですね。あとはfocal=Ubuntu 20.04LTSというのを覚えてもらえれば。 JDK周りのニュースOracle JDKが無償配布をやめて、無償利用としてはOpenJDKを、
最近では、AWSなどのクラウドプラットフォームや、Dockerがプロジェクトに取り入れられることが多くなりました。それに応じて、“それらを使えなければならない”という空気がただよっています。たしかに、AWSやDockerは便利ですが、「必須のもの」なのでしょうか。そんな疑問を技術書人気著者が解説します。 今回のサマリ そもそも「AWS」「Docker」とは? 新技術(AWS・Docker)との付き合い方 やっぱり、サーバーなどの基礎知識が大切 【筆者】小笠原種高さん(ニャゴロウ先生) 技術ライター、イラストレーター。システム開発のかたわら、雑誌や書籍などで、データベースやサーバー、マネジメントについて執筆。図を多く用いた易しい解説に定評がある。主な著書に『なぜ?がわかるデータベース』(翔泳社)、『これからはじめる MySQL入門』『図解即戦力 Amazon Web Serviceのしくみと
あらすじ 公衆WiFiに繋いだ状態でいつものように docker container run -p 8080:80 nginx のような感じでDockerコンテナを動かしていたら、外部からリクエストを受信した。 ファイアウォールを設定し、外部からのアクセスを拒否しているはずなのになぜアクセスできたんだ... 環境 Docker desktop for mac with apple silicon 4.21.0 何が起きた? Dockerはデフォルトの設定では-p 8080:80のようにポートマッピングするとファイアウォールの設定を書き換え、外部からそのポートへのアクセスを許可するようになっている。 その結果LAN内の他のPCから対象ポートにアクセス出来てしまう。 ちなみにこれはDocker公式からも注意が出ている。 Publishing container ports is insecur
クラウドネイティブ技術を日本にも浸透させることを目的に開催された「CLOUDNATIVE DAYS Spring 2021 ONLINE」。ここでVMwareの伊藤氏が「脱 Dockerfile! Cloud Native Buildpacksとkpackを使った簡単で安全なイメージ」をテーマに登壇。まずは、Dockerfileの問題点とCloud Native Buildpacksについて紹介しました。 トーク内容の目次 伊藤裕一氏(以下、伊藤):「脱 Dockerfile! Cloud Native Buildpacksとkpackを使った簡単で安全なイメージ」という内容について、伊藤がお話しします。 目次です。最初にDockerfileのおさらいと、問題点を話します。そして、Dockerfileを使わずにビルドを実施するCloud Native Buildpacks(CNB)の概要と
Docker Desktop for Mac Docker Desktop for Macでは、仮想マシン上のLinuxでDockerを動かしている。仮想マシンにはhyperkitやQEMUが使われていた。が4.14.0からVirtualization frameworkがデフォルトで使われる。 Set Virtualization framework as the default hypervisor for macOS >= 12.5. Virtualization frameworkはmacOS内蔵の仕組みで、macOS 11で導入されてから、徐々に機能が拡張されている。Virtualization frameworkは高レベルなAPIで、より低レベルなAPIとしてmacOS 10.10から搭載されているHypervisor frameworkがあり、おそらくVirtualizati
Apple Silicon Mac(M1、M2) で Lima を使った Linux VMs with Rosetta 上で intel x86-64のdocker container イメージを実行する DockercontainerLimaRosettaAppleSilicon はじめに M2 Macも発売され、そろそろintel Macで開発している方々も少数派となってきているのではないでしょうか。 M1、M2といったApple Silicon MacのCPUはARMアーキテクチャを採用している一方、多くの開発ではプロダクション環境はx86-64 (amd64)であり、Docker周りの環境構築に一工夫必要な場合も多いのではないでしょうか。また、Docker Desktopの有償化に伴い、所属している組織によっては開発環境のコンテナセットアップの方法を見直しているところもあるかと思い
Docker一強の終焉にあたり、押さえるべきContainer事情 を読んで漠然とDockerが終わるって思った人、素直に手をあげてください。別にDockerは終わりません。なんかむしろWASMとかんばるぞって息巻いてて可愛いので頑張って欲しいと個人的には考えています。 その昔、Kubernetes 1.20からDockerが非推奨になる理由 - inductor's blog を書いたら炎上しました。最初の記事の書き方が良くなかったという反省はあるにせよ、世間一般で「Dockerは開発環境で使うやつ」という認識があまりにも広がりすぎているというのが良くわかる勉強の機会になりました。 逆を言うと、みなさんがこれらの記事を読む時には、Dockerという言葉に含まれる意味に注意して読んでいただきたいと思っています。Dockerには大きく分けて以下の意味が含まれると僕は考えています。 Docke
先日、徳丸本(正式名称: 安全なWebアプリケーションの作り方 第2版)の実習環境 Docker 対応バージョンが公開されました。 こちら、M1/M2 Mac にも対応したものになっています。 リリース内容を確認してみましたが、解説されている内容は既存の部分からの変更点のみとなっています。 せっかくなので、1から新規で M1 Mac 環境に構築した方法の記録です。 前提条件 初心者向けではありません。 ある程度の知識がある方向けに、簡略化して記載しています。 初心者向けに記事を寄稿しました。 初心者の方は、リンク先の記事をご確認ください。 ウェブ・セキュリティ学習のため徳丸本を読んでみた 第3回 M1/M2 Mac に対応!Docker 環境で実習環境を構築しよう https://www.school.ctc-g.co.jp/columns/mikumo/mikumo03.html Hom
Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、My advice for updating use of the Docker Hub OpenJDK image | Red Hat Developer の翻訳記事です。 コンテナ内のJava実行環境は、今後数カ月でアップデートを受けられなくなる可能性があります。そろそろ手を打つべきでしょう。この記事では、この問題を引き起こした原因である決定事項を説明し、解決策を提案します。 OpenJDK と Java SE のアップデート OpenJDKは、Java Platform, Standard Edition (Java SE)のオープンソース実装で、複数の企業やコントリビューターが共同
前提 はじめに virtiofsさっそく試す もうちょっとちゃんと計測してみる Named Volumeを試してみる まとめ 追記(超重要) 追記2 前提 特にVSCodeのRemote Containers使ってる人には耳寄りです。別に使ってなくてもMacでDocker Desktop使ってる人ならあてはまります。 あと、このポストはMacといってもM1 MaxなMacBook Proで確認したものです。なので同じMacでもIntel Macとかだと違う結果になるかもしれません。 また、ここで紹介しているものはまだExperimental(試験的)な機能なので不具合や問題を引き起こす可能性があります。なので試す方はその辺は承知の上で試してみてください。 はじめに さて、MacでDocker Desktopというと「遅い」というのがこれまでの常識。自分のように普段VSCodeのRemote
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く