こんにちは、SCSK株式会社の嶋谷です。2024年度入社の新入社員です。 現在私は、AIプラットフォームやWebサーバ・監視サーバの構築といったインフラ基盤の構築業務に携わっています。 今回は、Docker上に構築したAIプラットフォーム基盤をMackerelで監視してみたいと思います。 Mackerelとは Mackerelは、株式会社はてなが提供するSaaS型の監視ツールです。 サーバの状態(CPUやメモリ)を監視し、事前に設定された閾値を超えたときにオペレータや管理者に通知を行うことができるツールです。加えて、オンプレミス環境だけでなくクラウド環境やコンテナ環境も監視することができます。 Mackerelの詳細情報については、下記リンクをご参照ください。 Mackerel(マカレル): 始めやすくて奥深い、可観測性プラットフォームMackerel(マカレル)は誰でも簡単に始めやすく奥
CI/CD連載 1本目の記事です。 Dokployというのを知ったので動かしてみました。よくあるクラウドサービスのPaaSマネージドサービスようなインフラをオンプレ環境やVPSなどに簡単に構築できるものです。自宅サーバーは欲しいなと思いつつ(昔たててqmailで自宅メールサーバー運用したりしたことはあったが)、K8sはあんまり興味ないな、と思っていて何かしらいいのがないかなと思っていたところ、結構自分の理想に近かったので試してみました。 ソースコードをアップロードしてコンテナでサービス起動 各種OSSのサービスを簡単起動 これらすべてウェブベースの管理画面があり、AWSとかGoogle Cloudの管理画面のようにシステムの設定や閲覧ができる ログ、メトリックスのビューア完備(Dozzleとかを自前で立てる必要はない) 今回試していない機能ですが、以下の機能もあります 通知 Docker
Docker コンテナの中からホストのポートで動いているサービスにアクセスする方法についてのまとめです。 ホスト側からコンテナのポートにアクセスしたいときはシンプルにポートフォワーディングをして localhost:ポート にアクセスすればよいですが、逆の、コンテナの中からホストのポートにアクセスしたいときには別の方法をとる必要があります。 ここではその方法をまとめています。 確認時の環境 macOS Docker Docker 20.10.17 Docker Compose v2.10.2 Docker Desktop 4.12.0 Docker コンテナ内からホストのポートにアクセスする方法 Mac / Windows の場合 Docker for Mac / Windows の場合は、特殊な名前 host.docker.internal がホストを指すものとしてデフォルトで提供されて
GitHub Container “R”egistryではなくGitHub Container “r”egistry が正しいと信じているのですが、誰か正解を知っている人がいたら教えて下さい。最初のブログ ではGitHub Container Registry と書いていましたが、その後はGitHub Container registryになりドキュメントでもContainer registryになっているので、やはりContainer registryなのかなと思ってますが、これが気になりすぎてGHCRについて触れるのがいつも憚られています。 Docker Hubのレート制限について 要約 背景 調査 回避策 GITHUB_TOKENについて 備考 余談 まとめ Docker Hubのレート制限について 2025年4月1日からDocker Hubの制限がいよいよ厳しくなり、未認証ユーザは
@matsuuさんのポストより。 x.com Docker Hub、2025/03/01から認証なしでのimage pullはIPアドレス毎に1時間あたり10回までに制限。認証してもPersonalはアカウント毎に1時間あたり40回まで。まじかよ。いよいよ厳しくなってきたな。 / “Usage and limits” https://t.co/hJWuR41b9G— matsuu (@matsuu) 2025年2月23日 x.com これ、先ほどサイト確認したら書き変わってて、2025/03/01→2025/04/01になってた。 Personalアカウント上限も40回→100回 でも認証なしの10回まではそのまま。— matsuu (@matsuu) 2025年2月23日 これはつらい。 最近業務でトレーシングハンズオンをした折に、配布のために魔改造Jaeger HotRODデモをDoc
背景 Dockerコンテナの各サービスポートを外部からフィルター制限するファイアウォール設定についてまとめてみました。 動作環境 ホスト側 OS:Ubuntu Server 22.04LTS Docker CE version 20.10.17 ファイアウォール設定する場所 全体のネットワーク構成としてサービスポートをフィルターする場所を決めます。 ホストの外側 クラウドのAWSではセキュリティグループ設定、オンプレ環境だとファイアウォール装置やルーター機器の機能が該当します。 この場合はDockerコンテナやホスト自体の管理外なので省略します。 ホスト自体 Ubuntuの場合は通常ufwが利用されますが、Dockerではiptableが使用されてufwの設定は反映されません。 ufwで設定したつもりがサービスポートが外部に開いていてハッキング攻撃を受けてしまうことがよくあります。 Doc
最近はお客さんとの勉強会でDockerのドキュメントをつまみ食いして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 本エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基本的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整
何をするか?複数の Web アプリを 1 つの VPS(レンタルサーバー)でホスティングする場合、一般的にはリバースプロキシ(nginx など)を立てて、各 Web アプリのバックエンドに繋ぐことになります。 例えば、nginx のバーチャルホスト機能を使って、app1.example.com というアドレスと app2.example.com というアドレスでアクセスされたときに、それぞれ別の Web アプリサーバー(バックエンド)に処理を振り分けます。 ここでは、リバースプロキシと 2 つの Web アプリを別々の Docker Compose で立ち上げて連携する方法を説明します。 図: リバースプロキシによる Docker Compose 連携1 セットの Web アプリであれば、1 つの Docker Compose 内に関連するコンテナをすべて含めてしまうのが楽ですが、ここでは
※追記 舌の根も乾かぬうちに Lima で圧倒的に手軽に実現できました。 Lima 版もご笑覧ください。 Lima で Intel on ARM やる 背景 Intel Mac の新品購入がそのうち無理になることが予見されるなかで、とはいえ x86-64 なコンテナで開発してんのにどうすんだよって答えが放置されたままな気がしています。 QEMU を基盤技術としている UTM を使うと、Apple Silicon Mac に、ARM64以外のCPUアーキテクチャのVMを立てることができます。UTMは、Apple Silicon向けのパッチ適用済みのQEMUがバンドルされているため、lima, podman machine と比較すると、わちゃわちゃせず即利用できます。 Ubuntu の作例はググるといくつかありますが、ちょっと食傷気味なので、 Fedora CoreOS でやってみました。
本文の内容は、2021年3月9日にÁlvaro Iradierが投稿したブログ(https://sysdig.com/blog/dockerfile-best-practices/)を元に日本語に翻訳・再構成した内容となっております。 Dockerfileのベストプラクティスのクイックセットをイメージビルドに適用することで、セキュリティ問題を防ぎ、コンテナ化されたアプリケーションを最適化する方法を学びます。 コンテナ化されたアプリケーションやマイクロサービスに精通している人なら、自分のサービスがマイクロサービスであることに気づいているかもしれません。しかし、脆弱性の検出、セキュリティ問題の調査、デプロイ後の報告や修正など、管理のオーバーヘッドがマクロな問題になっています。 このオーバーヘッドの多くは、セキュリティをシフトレフトし、開発ワークフローの中で可能な限り早く潜在的な問題に取り組むこ
viewportWidth - 20) { leftPos = viewportWidth - dropdownWidth - 20; } // Prevent going off left edge if (leftPos < 20) { leftPos = 20; } $el.style.top = (rect.bottom + 8) + 'px'; $el.style.left = leftPos + 'px'; }"> { const container = $el; // The div with overflow const item = document.getElementById('sidebar-current-page') if (item) { const containerTop = container.scrollTop; const containerBott
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く