![新卒1年目のSREがコンテナをデプロイできるようになるまでの道のり [JAWS DAYS 2019]](https://cdn-ak-scissors.b.st-hatena.com/image/square/b03d46264c98fda8618e4e7362ec066655f3824d/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F6fcb334efc3b4db8a13568e2eed817ef%2Fslide_0.jpg%3F11900553)
概要 前提 規約 コンテナはエフェメラル(短命:ephemeral)であること .dockerignoreを有効活用する 不要なパッケージのインストールを避ける コンテナ毎に1つのプロセスだけ実行 レイヤーの数を最小に 複数行の引数はアルファベット順、改行すること Docker network 概要 bridge none host overlay ipvlan macvlan Docker Volume 概要 bind mount volume tmpfs mount Dockerfileを扱う まずはDockerfileを作成する! FROM:ベースイメージを作成 RUN: 任意のコマンドを実行する WORKDIR: ワークディレクトリを追加する レイヤーの確認 コンテナの生成と停止 imageを作成 runでコンテナを起動 stopでコンテナを停止 pruneでDockerのお掃除
🗃 {Dev/Infrastructure/Docker/OrbStack} 🏷 Docker 🏷 OrbStack 🏷 kind 🏷 MetalLB 🗓 Updated at 2023-06-18T23:45:47Z 🗓 Created at 2023-06-16T04:09:56Z 🌎 English Page OrbStackは軽量・高速を謳うDocker Desktop for Macの代替です。 drop-in replacementであり、Docker Desktop for Macと同じくdockerコマンドが使えます。 https://orbstack.dev/ リソース消費が少ない & 起動が速い DockerだけでなくLinux Machineも使える Macのホストからコンテナ/Linux Machineに直接アクセスできる(!) 自分はDock
今回はDockerイメージの軽量化に関する知見がたまってきたので、実際にイメージサイズを小さくしながらどのような方法があるのか紹介したいと思います こんにちは!PlayGroundでバックエンドとインフラを触っているこのぴーです 今回はDockerイメージの軽量化に関する知見がたまってきたので、実際にイメージサイズを小さくしながらどのような方法があるのか紹介したいと思います 軽量化していないと何がダメなの? 軽量化していない時のデメリットをいくつか挙げたいと思います ローカルのストレージを圧迫する Docker HubやAWS ECRなどのレジストリにpush/pullする際に時間がかかる ビルドに時間がかかる レジストリからpullする時間が多くなるとデプロイやスケールアウトする際に待ち時間が多くなってしまいます このほかにも様々なデメリットがあると思いますが、パッと思いつくだけでこれだ
前回の投稿ではリポジトリパターンの導入と依存性注入を行い、APIエンドポイントをPostgreSQLと接続させました。 今回の投稿では前回までに作成した構成でユニットテストを行うための土台作りをし、いくつかのテストケースを実装します。 方針として、テストで使用するPostgreSQLはテスト開始時に使い捨ての専用のコンテナを新規で立ち上げることにします。 過去の投稿はこちらから辿ることができます。 FastAPI を使ってWEBアプリを作ってみる その1FastAPIとDockerでHelloWorldFastAPI を使ってWEBアプリを作ってみる その2AlembicとPostgreSQLでDB MigrateFastAPI を使ってWEBアプリを作ってみる その3APIエンドポイントをPostgreSQLに接続FastAPI を使ってWEBアプリを作ってみる その4今ここ テストにつ
tl;dr 依存パッケージのダウンロードは最初に実行しよう マルチステージビルドは必須と覚えておこう RUN --mount=type=cache を使おう(でも BuildKit を使えるかは確認して!) pnpm fetch も期待大 はじめに みなさん,Docker を使って開発するときに依存パッケージのダウンロードをずっと待ち続けた経験はありませんか?「依存パッケージの追加なんて頻繁に発生しないし,我慢しよう…」と妥協している方も多いでしょう. 頻繁に発生しない?本当にそうですか? 追加ではなくても依存パッケージの更新なんてよく発生するし,ベースイメージを更新することもあります.その度に全部ダウンロードし直しなんて堪ったもんじゃありません.モバイル回線だったら一瞬でギガがなくなっちゃいますよ! ということで,この記事ではキャッシュを活用して依存パッケージのダウンロードが何度も発生し
Dockerfileのベストプラクティス ベースイメージには公式のレポジトリを使用する FROM命令において、 使用するベースイメージは公式のリポジトリのものを使用し、軽量なものが推奨されている。 例えば、Debian イメージなど。 FROM [--platform=<プラットフォーム>] <イメージ名> [AS <名前>] FROM [--platform=<プラットフォーム>] <イメージ名>[:<タグ>] [AS <名前>] FROM [--platform=<プラットフォーム>] <イメージ名>[@<ダイジェスト>] [AS <名前>] 複雑なRUN命令はバックスラッシュを使い複数行に分割 ここでは、RUN命令の書き方に言及しています。 RUNの最も一般的な利用例はapt-getコマンドではないでしょうか。 RUN apt-get updaate と apt-get instal
Node.js Docker baseイメージには alpine < distroless < ubuntu+slim 構成がよさそう はじめに この記事は、DockerCon 2022 で発表された Bret Fisher の "Node.js Rocks in Docker, DockerCon 2022 Edition" を参考にしています。 base イメージの選択肢に関する話は、動画の前半一部分だけですが、他にも Node.js で Dockerfile を書く時のベストプラクティスが数多くまとまっているので、是非チェックしてみてください。 node:alpine イメージを使わない base イメージサイズを小さく保ちたい、という点で気軽に利用される事が多い alpine イメージですが、Official の README には下記の記載があります。 This variant
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く