タグ

dockerとDockerfileに関するokyawaのブックマーク (7)

  • hadolintを利用して容易にベストプラクティスに基づいたDocker環境を構築する | DevelopersIO

    t_o_dと申します。 GAS開発の際に環境用としてチームメンバーにDockerfileを作成していただけましたが、そちらを利用して構築すると肥大な環境が出来上がりました。 そのため、hadolintというlintツールを利用して軽量化及びベストプラクティスに基づいた方法を記録いたします。 結論 以下、「修正前」と「修正後」のソース及びイメージサイズの比較です。 ※こちらを参考にしてより削減するため、来の指摘とは関係ない「軽量なイメージの使用」を行なっています。 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE before_image latest ****** 3 minutes ago 1.27GB after_image latest ****** 1 minutes ago 486MB hadolintを利用すれば軽量でベ

    hadolintを利用して容易にベストプラクティスに基づいたDocker環境を構築する | DevelopersIO
  • Dockerfile ベストプラクティス/2022夏 - Qiita

    今までなんとなくで済ませてきたDockerfileの設定ですが、あらためて公式のベストプラクティス1や公式のリファレンス2を読み解いていきたいと思います。 Dockerfileの各命令の意味や、キャッシュを有効活用するための注意点などについて触れていきます。 ※ベストプラクティスにある「stdinからdocker buildする方法」に関する項目は省略しました。 Dockerfileとは? Dockerイメージを作る際の指示が書かれたファイルです。 Dockerfileを元にイメージが作られ、このイメージを元にコンテナが作られます。 だからすでにイメージがある場合はDockerfileは不要なんですね。 Dockerfileを作る時の注意点 では、早速Dockerfileを作りましょう。 各命令の意味を調べていく前に、Dockerfileを作成するにあたって気を付けた方が良い点について整理

    Dockerfile ベストプラクティス/2022夏 - Qiita
  • Dockerfileのベストプラクティス Top 20

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

    Dockerfileのベストプラクティス Top 20
  • Dockerコンテナに一般ユーザーを追加するときのDockerfileの設定 - Qiita

    FROM ubuntu:latest ARG USERNAME=user ARG GROUPNAME=user ARG UID=1000 ARG GID=1000 RUN groupadd -g $GID $GROUPNAME && \ useradd -m -s /bin/bash -u $UID -g $GID $USERNAME USER $USERNAME WORKDIR /home/$USERNAME/ groupaddコマンドで新しいグループを作成します。-gオプションでグループIDを指定しています。 useraddコマンドで新しいユーザーを作成します。オプションの意味は次の通りです。 -m, --create-home ホームディレクトリを作成します。 -s, --shell SHELL ログインシェルを指定します。 -u, --uid UID ユーザーIDを指定します。 -

    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
  • Docker Compose で複数コンテナ構築&管理 - Qiita

    ■ 概要 Docker Compose は、Dockerのコンテナ管理ツール 複数コンテナの構築・管理を、設定ファイルと docker-compose コマンドで一括管理できて便利 Docker for Mac には同梱されている 今回は、とりあえず最小構成(?)の WEBサーバーコンテナ + MySQLコンテナ で構築してみる ※MySQLのコンテナは、通常は公式のイメージを使用するが、今回は個別にDockerfileを指定する方法を試してみたかったので、あえて別途作成した。 ■ 参考URL ■ フォルダ・ファイル構成 以下の構成で、設定ファイルや確認用コンテンツなどを用意する。 それぞれのファイルの記述例については後述。 ※フォルダ構成は一例で、こうしなければいけないというわけではない。今回は、DBとWEBでフォルダを分けたほうがわかりやすいと思ったのでそうしている。 ~/docker

    Docker Compose で複数コンテナ構築&管理 - Qiita
  • Dockerで複数CMDを実行する方法

    こんばんは、エンジニアの眠れない夜です。 Dockerで複数CMDを利用したい人のための簡単な解決方法です。 CMDとRUNの違い まずは簡単にCMDとRUNの違いを説明します。 RUNはイメージを作成する前に実行されるものなのです。一方、CMDはイメージ作成後に実行されます。 なので、常駐化させたいプログラムを起動するコマンドをRUNで記述しても動いてくれません!( ̄◇ ̄;) 必ずCMDに書いてくださいね。 そして、CMDにはもう一つルールがあります。 CMDは最後の1行だけが実行される CMDは複数行記述しても最後の1行しか実行されません… [code]CMD [“supervisord”, “-n”,] CMD [“busybox” , “crond”, “-b”, “-L”, “/dev/stderr”][/code] 複数実行したいコマンドがあっても最後の1行しか実行されずにそれ

    Dockerで複数CMDを実行する方法
  • 1