並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 161件

新着順 人気順

dockerfileの検索結果1 - 40 件 / 161件

  • Dockerfileのベストプラクティス Top 20

    本文の内容は、2021年3月9日にÁlvaro Iradierが投稿したブログ(https://sysdig.com/blog/dockerfile-best-practices/)を元に日本語に翻訳・再構成した内容となっております。 Dockerfileのベストプラクティスのクイックセットをイメージビルドに適用することで、セキュリティ問題を防ぎ、コンテナ化されたアプリケーションを最適化する方法を学びます。 コンテナ化されたアプリケーションやマイクロサービスに精通している人なら、自分のサービスがマイクロサービスであることに気づいているかもしれません。しかし、脆弱性の検出、セキュリティ問題の調査、デプロイ後の報告や修正など、管理のオーバーヘッドがマクロな問題になっています。 このオーバーヘッドの多くは、セキュリティをシフトレフトし、開発ワークフローの中で可能な限り早く潜在的な問題に取り組むこ

      Dockerfileのベストプラクティス Top 20
    • Dockerfile を書くためのベストプラクティス解説編

      Explaining “Best practices for writing Dockerfiles” Dockerfileを書くためのベストプラクティス【参考訳】v18.09 - Qiita https://qiita.com/zembutsu/items/a96b68277d699f79418d こちらをベースにした解説スライドです。Read less

        Dockerfile を書くためのベストプラクティス解説編
      • 今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編

        今時のアプリ開発において、コンテナは避けて通れないものになっています。そして数多くあるコンテナ実行環境の中でも、デファクトスタンダードと言えるのがDockerです。そんなDockerのイメージですが、皆さんは正しくビルドできていますか? そのコンテナは無駄に太っていませんか? 効率よく最短時間でビルドできていますか? セキュリティは大丈夫ですか? 今回はDockerfileの書き方をテーマに、「今さら聞けない」Docker入門をお届けします。

          今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
        • Dockerfileを書くためのベストプラクティス【参考訳】v18.09 - Qiita

          概要 Docker Documentation にある、Best practices for writing Dockerfiles の参考日本語訳です。ドキュメントは、2019年5月31日現在のカレントである Docker v18.09 (current) です。 背景 ―― 以前の翻訳から時間が経過し、全体的に手直ししたいものの、差分が大きすぎる状況です。そのため、リファレンスや重要性の高いものから優先的に着手することにしました。 スライド資料 背景やヒント、図解などを追加した補足用スライドを作成しました Dockerfile を書くためのベストプラクティス解説編 BuildKitなどの最新機能や Dockerfile の記述例については、こちらのスライドをご覧ください。 Dockerfileを改善するためのBest Practice 2019年版 Dockerfile を書くためのベ

            Dockerfileを書くためのベストプラクティス【参考訳】v18.09 - Qiita
          • 作業環境をDockerfileにまとめて、macOSでもLinuxでもWSL2でも快適に過ごせるようになった話

            こんにちは、CLI生活至上主義?の、 ひのしば です。 まぁ、至上主義というのは、ちょっと言い過ぎかもしれませんが、screen, vim, mutt, newsboat, pass, あとは、gitやssh 辺りを使う生活をしており、1日の作業がこれだけで完結するような事もあるような生活を送っています。 さて、そんな私が、ワークステーションサーバに、macOSや、Windows, Linuxから接続して操作するといった構成から、 作業環境をDockerfileにまとめ、手元で上がる環境をdockerコンテナへ統一し作業する構成とした話を紹介します。 この環境は、ここ数ヶ月、不自由なく使えている事もあり、自身の整理のためにも、どのような点が気になって対応したのかを挙げていきます。 詳細は下部に記載する通りですが、 例えば、dockerfile上のuidの問題に気をつける点、Linuxとma

              作業環境をDockerfileにまとめて、macOSでもLinuxでもWSL2でも快適に過ごせるようになった話
            • Dockerfileのベストプラクティス8選

              はじめに Dockerfileを書く上で、Docker社の推奨するベストプラクティスを8つにまとめました。 ベストプラクティスに従うことによって、簡単・安全・効率的な、Dockerfileの作成を目指します。 Dockerのガイドライン コンテナは、必要最小限(エフェメラル)であるべき。 Dockerfile で定義されたイメージを使って作成されるコンテナは、可能ならばエフェメラル(短命;ephemeral)にすべきです。私たちの「エフェメラル」とは、停止・破棄可能であり、明らかに最小のセットアップで構築して使えることを意味します。 Dockerfileベストプラクティス 1. Baseイメージは、公式の信頼できるものを使おう 特定の言語などを扱う場合は、公式が言語が入ったイメージを配布してくれている場合が多いので、そちらを使おう。

                Dockerfileのベストプラクティス8選
              • Dockerfileのベストプラクティスとセキュリティについて - エニグモ開発者ブログ

                こんにちは、主に検索周りを担当しているエンジニアの伊藤です。 この記事は Enigmo Advent Calendar 2020 の 17 日目の記事です。 みなさんは適切なDockerfileを書けていますか?とりあえずイメージのビルドが出来ればいいやとなっていませんか? 今回は自戒の意味も込めて、改めてDockefileのベストプラクティスについて触れつつ、 そもそもDockerfileを書かずにコンテナイメージをビルドする方法とコンテナセキュリティに関する内容についてまとめてみました。 Dockerfileのベストプラクティス イメージサイズは極力小さくしよう ビルドキャッシュを活用しよう Dockerfileに関する悩みどころ Dockerfileを書かないという選択肢 Buildpack Cloud Native Buildpacks CNBの仕組み デモ CNBのメリット セキ

                  Dockerfileのベストプラクティスとセキュリティについて - エニグモ開発者ブログ
                • 3分でできる!最高のDockerfileを書いたあとにやるべき1つのこと - Qiita

                  概要 Dockerfileを書くためのベストプラクティスを読んで、ベストプラクティスなDockerfileを作った/作りたい人が対象です。 そのDockerfileで大丈夫かを3分でチェックできるツールをつくりました。Hadolintのような、単なるDockerfileのLinterではなく、ビルドしたイメージの中身まで細かく分析します。 通常のLinterでは原理的に不可能な、ベースイメージに存在している危険性も含めて調べることができます。 ←GitHubのStarもらえると嬉しいです。 Dockleの内部で使われているツールはTrivy, Vulsなどと同じなので、そのあたりを踏まえて、動作原理を別記事にまとめました。 人を震えさせるツール「Dockle」の仕組みを解説 なお、DockerHubで人気のコンテナに対して試した結果をサイトにして公開しています。操作方法もふくめて、別記事に

                    3分でできる!最高のDockerfileを書いたあとにやるべき1つのこと - Qiita
                  • あなたのDockerfileはベストプラクティスに従っていますか?(ベストプラクティスとチェックツール) - Qiita

                    Dockerfileのベストプラクティス ベースイメージには公式のレポジトリを使用する FROM命令において、使用するベースイメージは公式のリポジトリのものを使用し、軽量なものが推奨されている。 例えば、Debian イメージなど。 FROM [--platform=<プラットフォーム>] <イメージ名> [AS <名前>] FROM [--platform=<プラットフォーム>] <イメージ名>[:<タグ>] [AS <名前>] FROM [--platform=<プラットフォーム>] <イメージ名>[@<ダイジェスト>] [AS <名前>]

                      あなたのDockerfileはベストプラクティスに従っていますか?(ベストプラクティスとチェックツール) - Qiita
                    • Terraform, Dockerfile, KubernetesなどIaCの脆弱な設定をCI/CDで検知する - knqyf263's blog

                      概要 自分の所属企業であるAqua SecurityがTFsecというOSSを買収しました。 blog.aquasec.com TFsecはどういうツールかというとTerraformの静的解析スキャナーです。Terraformの設定ファイルを渡すことでセキュリティに関する設定ミスを主に検知してくれます。 github.com そのアナウンスに伴い、TFsecは自分が開発している脆弱性スキャナーであるTrivyに統合されました。TrivyではTerraformに加えDockerfileやKubernetesなど、いわゆるInfrastructure as Code(IaC)の設定ミスを検知するマネージドポリシーも提供しています。他にもJSONやYAMLなど一般的なファイルフォーマットに対応しているため自分でポリシーを書くことでそれらの検知にも使えます。CloudFormationやAnsib

                        Terraform, Dockerfile, KubernetesなどIaCの脆弱な設定をCI/CDで検知する - knqyf263's blog
                      • Dockerfile のベスト・プラクティス — Docker-docs-ja 19.03 ドキュメント

                        このドキュメントは、効率的なイメージ構築のために推奨するベストプラクティスを扱います。 Docker は Dockerfile に書かれた命令を読み込み、自動的にイメージを構築します。 Dockerfile はイメージを構築するために必要な全ての命令を、順番通りに記述したテキストファイルです。 Dockerfile は特定の書式と命令群に忠実であり、それらは Dockerfile リファレンス で確認できます。 Dockerfile の命令に相当する読み込み専用のレイヤによって、 Docker イメージは構成されます。それぞれのレイヤは直前のレイヤから変更した差分であり、これらのレイヤは積み重なっています。次の Dockerfile を見ましょう。 命令ごとに1つのレイヤを作成します。 FROM は ubuntu:18.04 の Docker イメージからレイヤを作成 COPY は現在のデ

                        • Dockerfileのベストプラクティス - Qiita

                          業務やプライベートでのハンズオンを通して得た知見を元に、dockerfileの実践的な書き方を記載いたしました。 軽量なdocker imageを作る観点とセキュリティーの観点を踏まえた内容になっております。なにか付け足す点などあればコメントいただければと思います。 軽量なimageを作る観点 軽量なimageの使用 Dockerfileでimageを指定する際に、軽量なimageを使用することが進めれている。 docker docsでも代表的な軽量なimageのalpineをおすすめしている。 Whenever possible, use current official images as the basis for your images. We recommend the Alpine image as it is tightly controlled and small in s

                            Dockerfileのベストプラクティス - Qiita
                          • Dockerfile書きたくないでござる

                            CloudNative Days Kansai 2019前夜祭のLTで発表した資料です。 発表の大筋は@makingの『Pack to the Future - SpringOne Platform 2019報告会』 https://docs.google.com/presentation/d/1rzaxReQ92WaWI24v-GsTwjtLCMq2YaFSTl9t6SEjPxQ/mobilepresent?slide=id.g6ad6e2f668_0_5 およびその元ネタの『Pack to the Future: Cloud-Native Buildpacks on k8s』 https://www.slideshare.net/SpringCentral/pack-to-the-future-cloudnative-buildpacks-on-k8s をベースにしています。 Clou

                              Dockerfile書きたくないでござる
                            • Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita

                              はじめに Dockerfile、サッと書こうと思ったのに、書き始めたら意外と時間かかったりしますよね。 突き詰めるとすごく奥が深いなと思います。 公式のドキュメントでも、Dockerfileのベスト・プラクティスという形で公開してくれていますが、 これを毎回意識するのは大変です。 また、意識できていたとしても、複数人で管理していると、各個人のスキルレベルによって差が出てしまいます。 そんなときにおすすめのツールを見つけたので紹介します。 hadolintというツールです。 Haskell Dockerfile Linterの略だそうで、Dockerfileの静的解析を行ってくれるlintツールです。 hadolintを使うとこんな利点があります。 build前にシンタックスエラーなどに気付ける (地味にトライアンドエラーしてると時間食うんですよね...) 自然とベストプラクティスに則ったD

                                Dockerfile自信持って書けてますか?おすすめlintツール 「hadolint」について紹介 - Qiita
                              • Google、最適化されたコンテナイメージを生成する「buildpacks」をオープンソースで公開。Dockerfile不要でJavaやGo、Node.jsをコンテナへビルド

                                Google、最適化されたコンテナイメージを生成する「buildpacks」をオープンソースで公開。Dockerfile不要でJavaやGo、Node.jsをコンテナへビルド Googleは、アプリケーションのコードから最適なコンテナイメージを生成するツール群「buildpacks」(ビルドパック)をオープンソースで公開すると同時に、Google CloudのCloud Run、Anthos、Google Kubernetes Engine (GKE)がこのbuildpakcsに対応したことを発表しました。 We’re launching broad support across @googlecloud for buildpacks, an open-source technology that makes it fast & easy to create secure, product

                                  Google、最適化されたコンテナイメージを生成する「buildpacks」をオープンソースで公開。Dockerfile不要でJavaやGo、Node.jsをコンテナへビルド
                                • Dockerfileを書かずにBuildpacksで圧倒的に軽量なDockerイメージを作成する(539MB->245MB) - 🤖

                                  はじめに 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

                                    Dockerfileを書かずにBuildpacksで圧倒的に軽量なDockerイメージを作成する(539MB->245MB) - 🤖
                                  • Dockerfile をベースイメージの更新に自動で追従させる - 詩と創作・思索のひろば

                                    前回のエントリで作った Docker イメージ motemen/datastore-emulator は、google/cloud-sdk をベースにしているが、このベースイメージがけっこうな頻度で更新される。とうぜん自分はその追従に手を煩わせる気はなくて、全部自動でやってほしい。 やりたかったこと google/cloud-sdk:x.y.z がリリースされたら、 リポジトリ中の ./Dockerfile と ./alpine/Dockerfile の FROM を google/cloud-sdk:x.y.z(-alpine) に更新し、 x.y.z タグを打って git push することで、 Docker Hub に x.y.z(-alpine) タグとしてリリースする これを自動かつ無料で実現したい。 採用しなかった案: 自分でなんか作る はじめは適当な GitHub Actio

                                      Dockerfile をベースイメージの更新に自動で追従させる - 詩と創作・思索のひろば
                                    • GitHub - hexops/dockerfile: Dockerfile best-practices for writing production-worthy Docker images.

                                      Writing production-worthy Dockerfiles is, unfortunately, not as simple as you would imagine. Most Docker images in the wild fail here, and even professionals often[1] get[2] this[3] wrong[4]. This repository has best-practices for writing Dockerfiles that I (@slimsag) have quite painfully learned over the years both from my personal projects and from my work @sourcegraph. This is all guidance, not

                                        GitHub - hexops/dockerfile: Dockerfile best-practices for writing production-worthy Docker images.
                                      • 機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog

                                        みなさん機械学習系の環境構築はどうやってますか? 僕は最近は Docker を使った管理を行っています。 特に師匠も居なかったので、ぐぐったり人のイメージを見たり手探りで docker をつかいつかいしている中で、最初からやっとけばよかったなーということがいくつかあるのでメモとして残しておきます。 大きく2つです。 キャッシュは消す テストを書く キャッシュは消す ライブラリをいろいろと install すると大抵の場合ダウンロードしたファイルを保存されている場合が多いです。何かのタイミングで再びそのライブラリをインストールする際にはダウンロードしたファイルを使って、素早くインストールすることができます (この仕組みがキャッシュです)。 キャッシュがあると容量が重くなるという欠点があります。重たいイメージは pull に単に時間がかかりますから、システムとしてデプロイする時にトラフィックが

                                          機械学習なdockerfileを書くときに気をつけとくと良いこと - nykergoto’s blog
                                        • Dockerfileを改善するためのBest Practice 2019年版

                                          Engineer / Technology Evangelist at SAKURA Internet, Inc.

                                            Dockerfileを改善するためのBest Practice 2019年版
                                          • Railsアプリの開発環境向けDockerfile + docker-compose.yml - アジャイルSEの憂鬱

                                            人に説明するときに記事あると便利なので、開発環境向けのDockerfileとdocker-compose.ymlを書いておく。 Dockerfile FROM ruby:3.0.0 WORKDIR /app # Using Node.js v14.x(LTS) RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - # Add packages RUN apt-get update && apt-get install -y \ git \ nodejs \ vim # Add yarnpkg for assets:precompile RUN npm install -g yarn # Add Chrome RUN curl -sO https://dl.google.com/linux/direct/google-ch

                                              Railsアプリの開発環境向けDockerfile + docker-compose.yml - アジャイルSEの憂鬱
                                            • 複数の環境でDockerfileを共通化するために使えるtips

                                              前提 コンテナを用いてアプリケーションのワークロードを構築することにはいくつかの利点があります。 なかでも、下記に上げられるポータビリティと環境の再現性は非常に強力です。 ポータビリティ コンテナは、アプリケーションとその依存関係をコンテナ内にパッケージ化します。 これにより、開発環境で構築したコンテナを本番環境にデプロイする際にも、一貫した動作が期待できます。 異なる環境間でアプリケーションを移行する際に、互換性の問題や依存関係の不一致が生じるリスクが低減され、ポータビリティが高まります。 環境の再現性 コンテナは環境に依存しないため、開発者が特定の環境でアプリケーションを構築した場合でも、他の開発者や運用チームが同じ環境を再現することが容易です。 コンテナイメージにはアプリケーションのコードとその実行環境が含まれており、イメージを共有することで他の人が同じ環境でアプリケーションを実行で

                                                複数の環境でDockerfileを共通化するために使えるtips
                                              • 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ

                                                BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py

                                                  仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編 | フューチャー技術ブログ
                                                • Dockerfileの作り方を考え直したらすごく効率が上がった

                                                  Dockerfileを作る時、最初は以下の方法でやってました。 Dockerfile書く ビルドする(動かしたいアプリ含め) 起動してみる 動かなかったらDockerfile修正する またビルドして試す こんな感じでしたが、これは非常に効率が悪いです。修正して検証を行う度にビルドが発生してしまい、待ちが発生してしまいます。 どうするか? ベースイメージにアタッチ 動かしたいアプリの実行に必要なコマンドを入れて、成功したらコマンドをメモっていく アプリが動くまで「コマンド実行→成功したらメモ」を繰り返す アプリが動いたらメモったコマンドでDockerfileを作る つまり、いきなりDockerfileを作るのではなく、ベースイメージに入ってコマンドを実行して動作確認をしながらDockerfileに記述する内容を固めていき、最後に1回だけビルドします。 なぜ? Dockerfileに記述するの

                                                    Dockerfileの作り方を考え直したらすごく効率が上がった
                                                  • Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ

                                                    CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS デプロイ時にassetsが404になる問題 以前の記事に詳細が書かれているため、ここでは問題の紹介だけしておきます。 Rails等のassetsファイルをハッシュ付きで生成し配信するWebアプリケーションの場合、ローリングアップデートを行うと、アップデート時に404エラーが確立で発生してしまいます。 引用: メドピアのECSデプロイ方法の変遷 Dockerfile 実際のDockerfileには業務上のコード、歴史的な残骸などが含まれていたので、綺麗なDockerfileを用意しま

                                                      Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ
                                                    • Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成

                                                      Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成 Docker社は、DockerfileやDocker Composeの設定ファイルであるCompose.yamlなどを自動生成してくれる「Docker Init」コマンドが、1月25日付でリリースされたDocker Desktop 4.27で正式版となったことを明らかにしました。 Dockerには、Dockerコンテナの構成を記述するDockerfileや、複数のコンテナを組み合わせてアプリケーションを構成するDocker Composeの設定を記述するdocker-compose.ymlなどのファイルがあります。 これまでは、これらの設定ファイルを開発者自身が記述する必要があり、手間がかかっていました。Docker Initコマンドは、これを

                                                        Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成
                                                      • Dockerfileの属人化による脆弱性を防げ ベストなイメージが作成可能なCloud Native Buildpacksの使い方

                                                        クラウドネイティブ技術を日本にも浸透させることを目的に開催された「CLOUDNATIVE DAYS Spring 2021 ONLINE」。ここでVMwareの伊藤氏が「脱 Dockerfile! Cloud Native Buildpacksとkpackを使った簡単で安全なイメージ」をテーマに登壇。まずは、Dockerfileの問題点とCloud Native Buildpacksについて紹介しました。 トーク内容の目次 伊藤裕一氏(以下、伊藤):「脱 Dockerfile! Cloud Native Buildpacksとkpackを使った簡単で安全なイメージ」という内容について、伊藤がお話しします。 目次です。最初にDockerfileのおさらいと、問題点を話します。そして、Dockerfileを使わずにビルドを実施するCloud Native Buildpacks(CNB)の概要と

                                                          Dockerfileの属人化による脆弱性を防げ ベストなイメージが作成可能なCloud Native Buildpacksの使い方
                                                        • Docker入門:Docker概要,基本操作,マウント,Dockerfile,マルチステージビルド - Qiita

                                                          最近ちょっとDockerを入門しました。 アウトプットも兼ねて、ハンズオンっぽくまとめてみたので公開したいと思います。 まだ「Dockerを触ったことない」という方の入門に使って頂けたら幸いです。 ※出力結果のすべては記載できていません。(ハンズオンで一緒に操作して確認しながら進める想定だったため) 目次 事前準備(環境構築) Docker概要 ハンズオン1:基本操作 ハンズオン2:マウント ハンズオン3:Dockerfile ハンズオン4:マルチステージビルド おわり 事前準備(環境構築) 公式ドキュメントなど参考に構築してください。 Docker Documentation - Get started with Docker Docker Hubアカウントをお持ちであれば、Play with Dockerが便利です。 インストールなしでDockerを試すことができます。Login、St

                                                            Docker入門:Docker概要,基本操作,マウント,Dockerfile,マルチステージビルド - Qiita
                                                          • Dockerfileのベストプラクティス - Qiita

                                                            業務やプライベートでのハンズオンを通して得た知見を元に、dockerfileの実践的な書き方を記載いたしました。 軽量なdocker imageを作る観点とセキュリティーの観点を踏まえた内容になっております。なにか付け足す点などあればコメントいただければと思います。 軽量なimageを作る観点 軽量なimageの使用 Dockerfileでimageを指定する際に、軽量なimageを使用することが進めれている。 docker docsでも代表的な軽量なimageのalpineをおすすめしている。 Whenever possible, use current official images as the basis for your images. We recommend the Alpine image as it is tightly controlled and small in s

                                                              Dockerfileのベストプラクティス - Qiita
                                                            • buildkit/frontend/dockerfile/docs/syntax.md at dockerfile/1.4.3 · moby/buildkit

                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                buildkit/frontend/dockerfile/docs/syntax.md at dockerfile/1.4.3 · moby/buildkit
                                                              • 仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ

                                                                なお、distrolessのイメージは2種類(3通りの名前)がありますが、Python 3.5はバグ修正はせず、セキュリティ修正のみでサポート期限が2020/9/13というステータスなので、本エントリーでは3.7の方のみを扱います。 gcr.io/distroless/python3: Python 3.5.3 gcr.io/distroless/python3-debian9: Python 3.5.3(上のイメージと同一) gcr.io/distroless/python3-debian10: Python 3.7.3 一応サンプル等もありますが、どれも1ファイルで構成されたサンプルスクリプトばかりです。前回のsite-packagesにコピーする方法を軽く試したところうまく動かず、シェルもpipもensurepipもないため、ビルドイメージにすることもできません。いろいろ調べた結果、

                                                                  仕事でPythonコンテナをデプロイする人向けのDockerfile (2): distroless編 | フューチャー技術ブログ
                                                                • DockerfileのCMDとENTRYPOINTを読み解く(1/3) - Shell形式とExec形式とは何か #docker #dockerfile - クリエーションライン株式会社

                                                                    DockerfileのCMDとENTRYPOINTを読み解く(1/3) - Shell形式とExec形式とは何か #docker #dockerfile - クリエーションライン株式会社
                                                                  • Dockerfile に HEALTHCHECK を設定すると「ヘルスチェック機能」が使えるようになる - kakakakakku blog

                                                                    今回は Docker で使える「ヘルスチェック機能」を試す.Release Note を読むと,機能としては Docker 1.12 から使えるらしく,3年前からあったなんて...!仕組みとしては,Docker デーモンからコンテナに指定したコマンドを定期的に実行する. Dockerfile 構文 「ヘルスチェック機能」を使う場合,まず Dockerfile に HEALTHCHECK を設定する.実行するコマンド以外に以下のオプションも設定できる.注意点として,--retries 以外は秒数を指定するため,表記は 5s のように単位も付ける. --interval=DURATION (default: 30s) --timeout=DURATION (default: 30s) --start-period=DURATION (default: 0s) --retries=N (defa

                                                                      Dockerfile に HEALTHCHECK を設定すると「ヘルスチェック機能」が使えるようになる - kakakakakku blog
                                                                    • Formatterを使って、Dockerfileをキレイに書く方法とGitを絡めた使い方 | DevelopersIO

                                                                      こんにちわ、札幌のヨシエです。 先日、PyCon mini SAPPORO 2019と呼ばれるPythonのイベントに参加しました。 参加セッションのPythonistaのためのコードレビューTips - slideship.comというセッションでFormatterについて触れられる点がありました。 あまりコードを書く機会がない自分ですが、Dockerfileは検証用途で書く頻度が高いのでDockerfileに対応したFormatterであるdockfmtを試してみました。 例として、以下のようなdockerfileを書き出してみます。 やっていることはApacheの公式イメージに対して、パッケージアップデートとgitをインストールして キャッシュ周りを削除してます。 FROM httpd:latest RUN apt-get -y update && apt-get -y upgrad

                                                                        Formatterを使って、Dockerfileをキレイに書く方法とGitを絡めた使い方 | DevelopersIO
                                                                      • コンテナイメージビルドが遅いなら、Kaniko使うと幸せになれる(全部入りRails Dockerfileを参考に) - Qiita

                                                                        コンテナイメージビルドが遅いなら、Kaniko使うと幸せになれる(全部入りRails Dockerfileを参考に) 結論 BuildKit対応してないCI/CD(サービス)使ってるならKaniko使えば早くなるよ Google Cloud Build使ってるなら迷わず使っておくべき Amazon Elastic Container Registry(ECR)でも問題なく使用できる この記事の例でいうと未キャッシュからフルキャッシュなら 288秒→132秒に短縮(約2倍) 御託はいいのでどう書くか教えて ここに書いてますので、自分の使ってるCI/CDサービスに当てはまるのを選んで参考にどうぞ https://github.com/chimame/kaniko-example 本題 長いうんちくや説明を知りたい人向けです。 この記事で記載するのはAmazon Elastic Containe

                                                                          コンテナイメージビルドが遅いなら、Kaniko使うと幸せになれる(全部入りRails Dockerfileを参考に) - Qiita
                                                                        • Go + WebAssembly に入門して Dockerfile の依存グラフを図にしてくれるサービスを作ったので、知見とハマりポイントを共有します。 - Qiita

                                                                          Go + WebAssembly に入門して Dockerfile の依存グラフを図にしてくれるサービスを作ったので、知見とハマりポイントを共有します。 こんにちはpo3rinです。 「Go + WebAssembly + BuildKit」 で Dockerfile の依存グラフを図にしてくれる誰得サイトを作ったので紹介します。その名も「Dockerfile Dependency graph」!!! https://po3rin.github.io/dockerdot/ (PCブラウザだけ対応してます) 今回はこれをどのように作ったのかの共有とハマった点を紹介します。リポジトリはこちら!! どのように作ったか 全体像はこちらになります。 内部では Dockerfile から LLB(プロセスの依存関係グラフを定義するために使用されるバイナリ中間言語)を取得して、それをdot言語(データ記

                                                                            Go + WebAssembly に入門して Dockerfile の依存グラフを図にしてくれるサービスを作ったので、知見とハマりポイントを共有します。 - Qiita
                                                                          • 商用環境でも使っている Laravel 用 php-fpm イメージの Dockerfile レシピ - Qiita

                                                                            これは何 Laravel 用 php-fpm イメージの Dockerfile。 (多少はフォーマット変わろうとも)色んなところでずっと使いまわししそうなのでメモ。 完全に個人の秘伝のタレ化するよりは情報公開したほうが自社にとっても利益があるだろうと判断(笑) 異論は無限に受け付けるので改善点などあればコメントください。 FROM golang:1.15 as http2fcgi_build # http2fcgi のビルド RUN GO111MODULE=on go get -v -ldflags '-w -s' github.com/alash3al/http2fcgi@v1.0.0 FROM php:7.4-fpm-alpine as php_runtime # Goバイナリが実行できるようにする # https://stackoverflow.com/questions/34729

                                                                              商用環境でも使っている Laravel 用 php-fpm イメージの Dockerfile レシピ - Qiita
                                                                            • 生成AIがDockerを使った開発の質問に答えてくれる「Docker AI」発表、Dockerfileのエラーなども修正。VSCode対応。DockerCon 23

                                                                              生成AIがDockerを使った開発の質問に答えてくれる「Docker AI」発表、Dockerfileのエラーなども修正。VSCode対応。DockerCon 23 Docker社は米ロサンゼルスで10月3日と4日の2日間、年次イベント「DockerCon 23」を開催。2日目の基調講演で、Dockerに関する質問に答えてくれたり、Dockerfileのエラーを解析して指摘してくれたりする生成AI「Docker AI」(コードネーム)を発表しました。 Docker AIはVisual Studio Code(以下VSCode)から利用するようになっており、例えば「How do I dockerize my project」(プロジェクトをDockerコンテナ化するにはどうすればよいですか?)、という質問に対して、VSCode上で開発中のプロジェクトの内容に沿った回答をしてくれます。

                                                                                生成AIがDockerを使った開発の質問に答えてくれる「Docker AI」発表、Dockerfileのエラーなども修正。VSCode対応。DockerCon 23
                                                                              • Dockerfile の RUN instruction で heredoc 記法をそのまま使うとコマンドが non-zero exit status で死んでも docker build が成功してしまう - polamjaggy

                                                                                tl; dr Dockerfile の heredoc 機能の中で凝ったことをやるときはコマンド群の最初に set -e とか書くのが無難そう 近年 Dockerfile 内で heredoc 記法が使えるようになったことが知られていて、 www.docker.com 割と凝ったことができる機能で、シンプルには以下のように RUN にずらずら書くときシュッと書けて便利、というのがわかりやすいと思う。 思うんだけど、こういうふうに heredoc の中でなんかミスってしまったときに何が起こるかというと、 # syntax=docker/dockerfile:1.3-labs FROM debian RUN <<EOF apt-get install packagewhichdoesnotexists ls EOF こういう感じで docker build は成功扱いになってしまう。 % do

                                                                                  Dockerfile の RUN instruction で heredoc 記法をそのまま使うとコマンドが non-zero exit status で死んでも docker build が成功してしまう - polamjaggy
                                                                                • Top 20 Dockerfile best practices

                                                                                  Learn how to prevent security issues and optimize containerized applications by applying a quick set of Dockerfile best practices in your image builds. If you are familiar with containerized applications and microservices, you might have realized that your services might be micro; but detecting vulnerabilities, investigating security issues, and reporting and fixing them after the deployment is ma

                                                                                    Top 20 Dockerfile best practices