Docker
問題 Docker で Elasticsearch を起動します。 services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0 environment: - discovery.type=single-node ports: - 9200:9200 - 9300:9300 以下の Elasticsearch クライアントライ…
銀の弾丸 以下でキャッシュ活用、ビルド、Push をよしなに行ってくれます。 $ docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS # Docker Hub や ECR にログイン $ export DOCKER_CLI_EXPERIMENTAL=enabled # Buildxを有効にする $ docker buildx create…
はじめに 2018 年 10 月に Cloud Native Buildpacks は Cloud Native Computing Foundation (CNCF)に Sandbox として受け入れられました。 CNCF には Kubernetes, Prometheus, Envoy, Fluentd など有名プロジェクトも多く受け入れられています。 Buildpacks …
はじめに CI では毎回まっさらな環境でテストやビルドができます。 これには、多くは Docker が用いられています。 さらには、Docker で実現されたまっさらな環境でも Docker ビルドなど Docker を利用できます。 前提知識: Docker クライアントと dockerd d…
WHY: なぜ中間イメージをタグ付けするのか 今では Docker イメージの軽量化のためにマルチステージビルドは欠かせません。 ローカルでの実行では問題ありませんが、CI 環境などの dockerd が毎度変わる Docker In Docker(dind)では問題が起こります。 最終イ…
はじめに Docker イメージサイズは小さければ小さいほど、Push と Pull の高速化につながり嬉しいです。 docker historyによってイメージレイヤーごとのサイズは分かりますが、どのレイヤーのどのファイルのサイズが大きいかは分かりません。 $ docker histo…
はじめに 以前、CI 環境での Docker ビルドのキャッシュについて記事を書きました。 kotaroooo0-dev.hatenablog.com 前回の記事のようにマルチステージビルドでない場合は、1 Dockerfile 1 Cache で問題ありませんでした。 しかし、今では Docker イメージの…
本記事での言葉の定義 起動: 動き始めること(例: PC の電源ボタンを押すこと) 稼働: 働きはじめること(例: PC が利用可能になること) はじめに 以下の Redis と MySQL を利用するアプリケーションの docker-compose を考えます。 version: "3" services: app…
はじめに 仮想化は使いたいアプリケーションだけでなく OS も含めてまるごと動かす仕組みです。 これでは、ゲスト OS とホスト OS が同じ Linux であればカーネルなどを重複してロードすることになり無駄にメモリを消費してしまいます。 OS のカーネルはホス…
はじめに GitHub Actions 上での Docker イメージのビルド高速化について情報が少なかったので自分なりに調査してみました。 Jenkins のように自分でホストするのではなく、GitHub Actions や CircleCI ではステートレスにジョブが行われます。 そのため、ロ…
サイボウズ社の Docker 研修資料を見ていると Dockerfile の静的解析ツールが紹介されており、どれくらい解析するのか興味が湧いたので試してみました。 hadolint エラーを事前に検知してくれたり、よりよい Dockerfile の書き方を指摘してくれます。 Haskel…
はじめに Docker イメージをビルドしていく上で、イメージサイズ軽量化や並列実行はどこの環境でビルドするか気にしないで行うことができました。 しかし、キャッシュの仕組みは環境によっても異なるなど複雑です。 本記事では、キャッシュの種類について紹…
なぜ、ビルドを早くする デプロイ時間の短縮 AutoScaling 等でのインスタンスの追加時間の短縮 CI のビルド時間が短縮 どう、ビルドを早くする 並列性を上げる ビルドキャッシュを効かせる 並列性 本記事では、並列性のみに触れる。 BuildKit を使用する Doc…
なぜ Docker イメージを軽くするのか Docker イメージのダウンロードが早くなる Docker イメージのアップロードが早くなる CI やプロダクションなど各環境へのイメージの配布が効率的に行える ホストのディスク容量を圧迫しない どう Docker イメージを軽く…
tl;dr 事前に行うこと 対象のはてなブログの記事入力モードを Markdown に変更 Qiita の記事のタイトルが[Docker]Qiitaからはてなブログへ記事を移行のように[]から始まるものをだと yaml のパースの関係で上手くいかないので【】等に置換 環境変数が必要で…
この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 概要 なにかかっこいいのでポートフォリオサイトが欲しかったというのと,GCPとDockerまともに触ったことがなかったのでこういう風に公開しました. これはポート…