Single NodeのDocker Swarmを利用してオンプレミスにデプロイされるGraphQLサーバを安全にローリングアップデートさせている話
今までなんとなくで済ませてきたDockerfileの設定ですが、あらためて公式のベストプラクティス1や公式のリファレンス2を読み解いていきたいと思います。 Dockerfileの各命令の意味や、キャッシュを有効活用するための注意点などについて触れていきます。 ※ベストプラクティスにある「stdinからdocker buildする方法」に関する項目は省略しました。 Dockerfileとは? Dockerイメージを作る際の指示が書かれたファイルです。 Dockerfileを元にイメージが作られ、このイメージを元にコンテナが作られます。 だからすでにイメージがある場合はDockerfileは不要なんですね。 Dockerfileを作る時の注意点 では、早速Dockerfileを作りましょう。 各命令の意味を調べていく前に、Dockerfileを作成するにあたって気を付けた方が良い点について整理
CSSの新機能コンテナクエリ(@container)と:has()疑似クラスが、いよいよChrome 105(8月末、来週リリース予定)でサポートされます。 コンテナクエリとは今までのメディアクエリがビューポートに依存していたのとは異なり、親要素(コンテナ)のサイズに対してスタイルを適用できます。:has()疑似クラスは指定した要素を含んでいる場合にスタイルを適用できます。 レスポンシブの実装この2つの新機能は単独でも強力ですが、組み合わせるとさらにすごいパワーを発揮します。この2つの新機能の最初に理解しておきたい基礎知識を紹介します。 container and :has(): two powerful new responsive APIs landing in Chromium 105 by Una Kravets 下記は各ポイントを意訳したものです。 ※元サイト様のライセンスにもと
Did you know...?LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net. Docker and other container engines can greatly simplify many aspects of deploying a server-side application, but numerous applications consist of more than one container. Managing a group of containers only ge
最近流行りのテキストから画像を生成する機械学習モデルが一般公開されたとのことで、興味本位で触ってみました。ざっと書いちゃったので、後で見直すかも。 目的 GPUアクセラレーションを活かしつつコンテナ内でStable Diffusionのモデルを動かしたい。メインPCなのでLinuxじゃなくWindowsを使いたい。 前提条件 以下のスペックのPCで、本記事の内容を実行しました。 OS: Microsoft Windows 11 Pro CPU: AMD Ryzen7 3700X メモリ: 32GB ストレージ: 1TB GPU: nVidia Geforce RTX 3080(10GB) とりあえず、OSとGPUベンダーだけそろっていれば本記事の内容は実行できると思います。 ちなみに、Windows 10の場合はInsider版を使えばCUDA on WSL2が可能です。(つまり、本記事の
はじめに この記事では、モノタロウの基幹系を構成するシステムの一つである、商品情報管理システム(PIM:Product Information Management システム)の導入プロジェクトで、商品情報を基幹系と同期するシステム(商品情報同期機能)の性能や運用環境の改善を行った話をご紹介します。 背景 モノタロウの基幹系は、長年内製のシステムで支えられてきました。基幹系のシステムは、少数のWebアプリケーションと多数のバッチから構成されています。中でも商品情報の管理に関するシステムは、在庫や仕入先に関するシステムと一体化していて、商品情報に関する数多くのマスタメンテナンス画面を備えたやや複雑なシステムです(図1)。 図1 基幹系の概略図 当社のシステムは、もともと自分たちのビジネスに必要な機能を提供する手頃なパッケージ製品がなかったため、すべてを内製でまかなってきたという経緯があります
Ubuntuが.NET 6/ASP.NETをネイティブサポートすると発表。最適化されたコンテナイメージをCanonicalが配布開始 マイクロソフトとCanonicalは、Linuxの代表的なディストリビューションの1つであるUbuntuが.NET 6をネイティブにサポートすると発表しました(マイクロソフトの発表、Canonicalの発表)。 Canonicalはパッケージマネージャやシェルなどを省いて徹底的にスリム化し、.NET 6とASP.NETランタイムに最適化したUbuntu 22.04 LTSのコンテナイメージの配布を開始します。またUbuntu 22.04 LTSのホストOSでは「apt install dotnet6」コマンド一発で.NET 6のインストールが可能になります。 @Microsoft and Canonical announce native .NET avai
この記事を読んだらできること Mobyをビルドしてruncとcontainerdを動かせます。 runcとcontainerdを使ってコンテナを動かすことでなんとなくコンテナの理解が深まります。 夏休みの自由研究にコンテナを動かす仕組みを自分で深く調べたくなります(たぶん)。 記事の背景 Dockerを使い、なるべく小さい薄いコンテナを作っていく中でDockerの中身を詳細に知りたいと思ったので、DockerのソースコードであるMobyをビルドしてコンテナ実行のコアの基盤ソフトであるrunc、containerdを動かしてみました。 1. コンテナのアーキテクチャと用語解説 まずMobyを動かす前にコンテナのアーキテクチャと用語を理解しておく必要があります Docker Desktop(mac版)を俯瞰した図が上記となります。実際はDocker DesktopはKubernetes(k8s
はじめに コンテナオーケストレーションサービスの一つである AWS ECS on Fargate (以下 ECS on Fargate) では、FireLens を利用することで、コンテナが出力するログを簡単に任意のログ基盤へ送信できます。 しかし、FireLens を通じてコンテナのログをルーティングする場合、16 KB 以上のログは分割された状態でログルーティング用のコンテナに到達します。構造化ログを実現するためにアプリケーションが JSON などの形式でログを出力している場合、ログを分割される前の状態に復元する必要があります。 この記事では、FireLens とは何かをおさらいした上で、上記の問題の背景を解説します。また、この問題の解決策についてこれまで知られてきた方法と、最近の ECS on Fargate のアップデートにより利用できるようになった方法を解説します。それにより、読
はじめにKubernetes クラスタやその上で動くワークロードに対する脅威は多様化しており、クラスタ コンポーネントだけではなくコンテナ アプリケーションやソフトウェア サプライチェーンも含めた多層的な防御が求められます。 Google Cloud では Google Kubernetes Engine (以降 GKE) やその周辺エコシステムにおけるセキュリティ機能が活発に開発されており、これらの機能を上手く活用することで Kubernetes 環境の多層防御を実現可能です。 とはいえ、Google Cloud で提供している コンテナ セキュリティ関連機能 / サービスは種類が多すぎて何がなんだか分からない方も多いのではないでしょうか。本記事では、GKE 周辺のセキュリティ機能 / サービスの概要や使い所、おすすめの設定等について紹介していきます。 ちなみに本記事は Cloud Na
コンサル部のとばち(@toda_kk)です。 2022/7/26〜28に開催された弊社主催のオンラインイベントDevelopersIO 2022にて、「OSSで始めるコンテナセキュリティ」をテーマに登壇しました。 動画 発表資料 セッション概要 「コンテナセキュリティってなんかいろいろあるけど、結局なにからやればいいの?」という方向けに、コンテナセキュリティの全体像や概要を解説しつつ、コンテナセキュリティに対応するためのOSSを紹介するセッションです。 ざっくりとした内容 OSSを用いることで気軽にコンテナセキュリティを実現してみよう、というテーマでお話ししました。 コンテナセキュリティに関する概要を、コンテナライフサイクルに沿ったリスクの評価と対応という形で整理した上で、関連するAWSサービスと機能を紹介しました。 また、コンテナセキュリティのOSSツールとして、Kubernetesセキ
九州支社技術部(九州・中四国事業部)所属。自作パソコン好きで、ハードウェア選定の仕事を与えると喜ぶ。最近は何でもコンテナにしたい教に入信し、コンテナ化の機会を虎視眈々と狙っている。 こんにちは、九州支社技術部(九州・中四国事業部)所属のy-morimotoです。 WindowsでDockerを使いたい時、多くの方はDocker Desktopを使われていると思いますが、実は他にもWindowsでDockerを使う方法があります。 以前紹介させて頂いた「ブラウザだけでDockerしたい」といった方法もありますが、今回は「PCに直接インストールする」方法のご紹介です。 1.どうやるの? 単純ですが「WSL2のUbuntuでDockerを動かす」です。 意外と盲点だったりするので、簡単に導入手順をまとめてみました。 2.導入手順 導入手順は以下のとおりです。 WindowsTerminalをイン
カゴヤ・ジャパンは2022年6月8日、クラウドサーバーとコンテナサービスを提供する新サービスプラットフォーム「cloud tap」の提供を開始した。これまで提供してきたIaaSサービス「クラウドサーバー」とKubernetesのマネージドサービスである「コンテナサービス」のブランドを統合し、さらにコントロールパネルや料金体系もより使いやすく、わかりやすくリニューアルしている。 カゴヤはなぜcloud tapという新たなサービスブランドを立ち上げ、サービスを通じてどんなユーザーを支援したいと考えているのか。今回は、cloud tapの技術開発を担当する同社 システム開発チームの栗須高久氏、マーケティングを担当するサービスマーケティングチームの松田そのみ氏に聞いた。 日本企業がDXを推進するためには「シンプル」が必要 cloud tapのWebサイトを開くと、まず目に飛び込んでくるのが「コンテ
Webのレスポンシブは、メディアクエリによるページベースだけでなく、コンテナクエリによる親コンテナベースの実装ができるようになります。 このCSSの新機能コンテナクエリによりコンポーネントを複数のコンテクストで使用でき、コンポーネント単位の実装も簡単になります。Googleのデベロッパーによるコンテナクエリをデベロッパーツールで検証およびデバッグする方法を紹介します。 Inspect and debug CSS container queries by Sofia Emelianova, Jecelyn Yeen 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様のライセンスに基づき翻訳しています。 はじめに コンテナとその子孫を見つける コンテナクエリを確認する方 コンテナ要素を検索する方法 コンテナクエリをデバッグする方法 はじめに この記事では、Chromeの
こんにちは、技術部 SRE グループ アルバイトの小川です。この記事では、クックパッドでコンテナログの処理に利用している Fluentd ノードのオートスケール対応について紹介します。 クックパッドでは Amazon ECS を用いてコンテナ化されたアプリケーションをデプロイしています。クックパッドでの ECS の利用については過去の記事をご覧ください。 ECS 上で動くコンテナのログを閲覧するために、標準的には Amazon CloudWatch Logs を利用する方法があります。しかし、クックパッドではログ量やコストの問題で CloudWatch Logs は利用せず、独自のログ配送基盤を構築して運用しています。具体的には、ECS のコンテナインスタンスで実行している Fluentd から複数の Amazon EC2 インスタンスで構成される Fluentd 集約ノードにログを転送し
今年も技術研修資料と動画を公開します!MIXIの新卒技術研修の方針や、LayerX様との合同研修についても紹介します! 研修資料・動画一覧Git研修( 動画 / スライド )データベース研修( 動画 / スライド1, 2 / SQL演習環境 )設計・テスト研修( 動画 / スライド )コンテナ研修( 動画 / スライド1, 2 )iOSアプリ開発研修( 動画 / スライド / リポジトリ )Androidアプリ開発研修( 動画 / スライド / リポジトリ )フロントエンド研修( 動画 / スライド / リポジトリ )ゲーム開発(Unity)研修( 動画 / スライド1, 2, 3, 4, 5, 6 / リポジトリ )Flutter研修( 動画 / スライド / リポジトリ )AI研修( スライド1, 2, 3, 4 / リポジトリ )セキュリティ研修( スライド )チーム開発研修( スラ
Amazon Web Services ブログ Amazon Elastic Container Service 入門ハンズオンを公開しました!– AWS Hands-on for Beginners Update こんにちは!ソリューションアーキテクトの杉山(@sugimount)です。6月になって暖かな日が増えておりますが、皆さまいかがお過ごしでしょうか。家で猫を飼っているのですが、私に猫アレルギーがあることがわかりました。どうりで、鼻がムズムズするわけです。 さて、この度 AWS Hands-on for Beginners シリーズの新作コンテンツとして、Amazon Elastic Container Service (Amazon ECS) を使った入門ハンズオンを公開しました。今回公開したハンズオンを紹介いたします。 AWS Hands-on for Beginners とは
コンテナ/Kubernetesの脆弱性、機密情報、設定間違いが分かるOSS「Trivy」徹底解説~もうイメージスキャンだけとは言わせない:Cloud Nativeチートシート(17) Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、コンテナ/Kubernetesの脆弱性、機密情報、設定間違いを診断、検出するOSS「Trivy」を紹介する。 OSパッケージやライブラリ、アプリケーションで発見される脆弱(ぜいじゃく)性は日々増え続けていますが、皆さんのアプリケーション、システムは大丈夫でしょうか? 日々最新のバージョンに修正して脆弱性を対処していれば問題ありませんが、インターネット上に転がっているサンプルなどを参考して実装した場合、「記事で利用されている古いバージョンをそのまま使用して脆弱性が混入してしまっている」なんてこと
VSCode の更新情報を見ていたら Dev Container の仕様と、リファレンス実装の CLI ツールについて記載がありました。 Development Container specification Our development container teams across Microsoft and GitHub continue active development on the new Dev Container Specification, and this iteration had several exciting highlights. どういう風にやってきたのか Dev Container(devcontainer) の元は VSCode の Remote - Containers で使われている開発コンテナ(とその設定ファイル)のことです。これを VSCode
Dockerでnpm install とか yarn install をすると何か遅いなあと感じたことはないでしょうか? 私はDocker環境上でしかnpmやyarnを使っていなかったので中々気が付かなかったのですが、 先日友人のエンジニアにお前のdocker-comoseいけてないから変えたほうがいいよ、と教えてもらいました。 誇張抜きに10分かかっていた初期のモジュールのインストールが1分未満で終わるようになるなど、10倍以上早くなりました。 以下で何が悪かったのか、何を変えれば高速化に繋がるのか解説していきたいと思います。 modulesの追加等が遅かった原因 まず、私のdocker-composeはこんな感じになっていました。 version: '3' services: lonet: build: context: ./ dockerfile: Dockerfile volume
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く