サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
kotaroooo0-dev.hatenablog.com
本記事での言葉の定義 起動: 動き始めること(例: PC の電源ボタンを押すこと) 稼働: 働きはじめること(例: PC が利用可能になること) はじめに 以下の Redis と MySQL を利用するアプリケーションの docker-compose を考えます。 version: "3" services: app: build: app depends_on: - redis - mysql mysql: image: mysql:5.7 ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: password redis: image: redis:6.0.5-alpine ports: - "6379:6379" アプリーケーションが起動する前に Redis と MySQL が稼働することが期待されます。 docker-comp
なぜ、ビルドを早くする デプロイ時間の短縮 AutoScaling 等でのインスタンスの追加時間の短縮 CI のビルド時間が短縮 どう、ビルドを早くする 並列性を上げる ビルドキャッシュを効かせる 並列性 本記事では、並列性のみに触れる。 BuildKit を使用する Docker 18.09 のリリースにおいて行われたビルド機能の拡張は、ビルドアーキテクチャーの総見直しにより必要となる機能を導入しています。 BuildKit を統合したことによって、処理性能、ストレージ管理、ツール機能、セキュリティのどれをとっても改善が見られるはずです。 https://matsuand.github.io/docs.docker.jp.onthefly/develop/develop-images/build_enhancements/ $ DOCKER_BUILDKIT=1 docker build
この記事はRecruit Engineers Advent Calendar 2020の11日目の記事です。 TL;DR 対象読者は転置インデックスを少し知ってるくらいの検索初心者です 検索エンジンに興味が湧き、仕組みを知るためにGoで自作しています 自作検索エンジンのAnalyzerとIndexerとSearcherを紹介します はじめに ここ最近、以下の観点から情報検索への興味が強いです。 技術面: フリーワード検索機能を実装した際にElasticsearchの使いやすさと多機能さに圧倒されたこと。 プロダクト面: 検索がプロダクトに不可欠な機能かつ、 非エンジニアにとって検索エンジンは未知であり知識の乖離が大きいため、エンジニアだからこその価値を提供しやすいこと。 検索エンジンの仕組みを知り情報検索分野に詳しくなるために自作し始めました。 プログラミング言語Goを読んで学んでいるので
はじめに GitHub Actions 上での Docker イメージのビルド高速化について情報が少なかったので自分なりに調査してみました。 Jenkins のように自分でホストするのではなく、GitHub Actions や CircleCI ではステートレスにジョブが行われます。 そのため、ローカルにキャッシュが残らないため、外部にキャッシュを持つようにします。 試す選択肢 1.普通のdocker build🐭 キャッシュが効かない普通のdocker build .です。 GitHub Actionsはステートレスなのでこのままではレイヤーキャッシュは効きません。 2.普通のdocker build + BuildKit🐶 🐭と同様ですが、BuildKitを効かせます。 環境変数にDOCKER_BUILDKIT=1をセットしdocker build .するだけです。 3.acti
問題 Docker で Elasticsearch を起動します。 services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0 environment: - discovery.type=single-node ports: - 9200:9200 - 9300:9300 以下の Elasticsearch クライアントライブラリを利用し、http://127.0.0.1:9200へ接続しに行きます。 github.com c, err := elastic.NewClient() // デフォルトで127.0.0.1:9200へ接続 if err != nil { log.Println(err) } no active connection found: no Elasticse
はじめに 2018 年 10 月に Cloud Native Buildpacks は Cloud Native Computing Foundation (CNCF)に Sandbox として受け入れられました。 CNCF には Kubernetes, Prometheus, Envoy, Fluentd など有名プロジェクトも多く受け入れられています。 Buildpacks を使うことで、Dockerfile を書かなくても Docker イメージを作成できます。 また、作成されるイメージはかなり軽量でした。 buildpacks.io 試してみた 今回は、以下のリポジトリの Java アプリケーションの Docker イメージを作成します。 github.com インストール # Mac $ brew install buildpacks/tap/pack # Linux $ wge
はじめに Docker イメージをビルドしていく上で、イメージサイズ軽量化や並列実行はどこの環境でビルドするか気にしないで行うことができました。 しかし、キャッシュの仕組みは環境によっても異なるなど複雑です。 本記事では、キャッシュの種類について紹介します。 レイヤーキャッシュ Docker イメージは層が重なることによってできています。 RUN hogeの層の上にCOPY fugaの層があり、その上にENTRYPOINT piyoの層があるという風になっています。 イメージのレイヤー構造はdocker history で確認できます。 例えば、マルチステージビルドでビルドしたadachikun/qiitatohatenaは以下のようになります。 さまざまなレイヤーが重なってイメージが構成されていることが分かります。 $ docker history 4a57f4eb178a IMAGE
はじめに Docker イメージサイズは小さければ小さいほど、Push と Pull の高速化につながり嬉しいです。 docker historyによってイメージレイヤーごとのサイズは分かりますが、どのレイヤーのどのファイルのサイズが大きいかは分かりません。 $ docker history maven:3-amazoncorretto-11 IMAGE CREATED CREATED BY SIZE COMMENT eb8a5bbcd061 12 days ago /bin/sh -c #(nop) CMD ["mvn"] 0B <missing> 12 days ago /bin/sh -c #(nop) ENTRYPOINT ["/usr/local/b… 0B <missing> 12 days ago /bin/sh -c #(nop) COPY file:2bbb488dd73
サイボウズ社の Docker 研修資料を見ていると Dockerfile の静的解析ツールが紹介されており、どれくらい解析するのか興味が湧いたので試してみました。 hadolint エラーを事前に検知してくれたり、よりよい Dockerfile の書き方を指摘してくれます。 Haskell で描かれており、スターは 4000 程度です。 vscode とも連携することができます。 github.com インストール # Mac $ brew install hadolint # Windows $ scoop install hadolint # Docker $ docker pull hadolint/hadolint # Build locally $ git clone https://github.com/hadolint/hadolint $ cd hadolint $ sta
このページを最初にブックマークしてみませんか?
『kotaroooo0-dev.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く