【docker】各プログラミング別|dockerイメージと主要設定項目の一覧

各言語のDockerイメージの主要な設定項目を含めて詳細に一覧化します。

JavaScript(TypeScript)/Node.js

イメージ

  • node – Node.js公式イメージ
  • node:alpine – Alpine Linuxベースの軽量版
  • node:lts – LTS(Long Term Support)版

主要設定項目

  • NODE_VERSION – Node.jsのバージョン
  • NPM_VERSION – npmのバージョン
  • YARN_VERSION – Yarnのバージョン
  • NODE_ENV – 実行環境(development/production)
  • PORT – アプリケーションポート
  • WORKDIR – 作業ディレクトリ(通常 /app

Python

イメージ

  • python – Python公式イメージ
  • python:alpine – Alpine Linuxベースの軽量版
  • python:slim – 必要最小限のパッケージのみ

主要設定項目

  • PYTHON_VERSION – Pythonのバージョン
  • PYTHONPATH – Pythonモジュール検索パス
  • PYTHONDONTWRITEBYTECODE – .pycファイル生成の無効化
  • PYTHONUNBUFFERED – 標準出力のバッファリング無効化
  • PIP_NO_CACHE_DIR – pipキャッシュの無効化
  • PIP_DISABLE_PIP_VERSION_CHECK – pipバージョンチェック無効化

Java

イメージ

  • openjdk – OpenJDK公式イメージ
  • eclipse-temurin – Eclipse Temurinディストリビューション
  • amazoncorretto – Amazon Correttoディストリビューション
  • maven – Maven付きJava環境
  • gradle – Gradle付きJava環境

主要設定項目

  • JAVA_VERSION – Javaのバージョン
  • JAVA_HOME – Java実行環境のパス
  • MAVEN_VERSION – Mavenのバージョン
  • GRADLE_VERSION – Gradleのバージョン
  • JAVA_OPTS – JVM起動オプション
  • JVM_ARGS – JVM引数
  • CLASSPATH – クラスパス

Go

イメージ

  • golang – Go公式イメージ
  • golang:alpine – Alpine Linuxベースの軽量版

主要設定項目

  • GOLANG_VERSION – Goのバージョン
  • GOPATH – Goワークスペース
  • GOROOT – Go実行環境のパス
  • GOOS – ターゲットOS
  • GOARCH – ターゲットアーキテクチャ
  • CGO_ENABLED – CGOの有効/無効
  • GO111MODULE – Goモジュールモード

Rust

イメージ

  • rust – Rust公式イメージ
  • rust:alpine – Alpine Linuxベース

主要設定項目

  • RUSTUP_HOME – Rustupホームディレクトリ
  • CARGO_HOME – Cargoホームディレクトリ
  • RUST_VERSION – Rustのバージョン
  • PATH – 実行パス(Cargoバイナリパスを含む)

C/C++

イメージ

  • gcc – GCCコンパイラ環境
  • clang – Clangコンパイラ環境

主要設定項目

  • CC – Cコンパイラ
  • CXX – C++コンパイラ
  • CFLAGS – Cコンパイルフラグ
  • CXXFLAGS – C++コンパイルフラグ
  • LDFLAGS – リンカーフラグ

.NET/C#

イメージ

  • mcr.microsoft.com/dotnet/runtime – .NET Runtime
  • mcr.microsoft.com/dotnet/sdk – .NET SDK
  • mcr.microsoft.com/dotnet/aspnet – ASP.NET Core

主要設定項目

  • DOTNET_VERSION – .NETのバージョン
  • ASPNET_VERSION – ASP.NET Coreのバージョン
  • DOTNET_RUNNING_IN_CONTAINER – コンテナ実行フラグ
  • ASPNETCORE_URLS – リッスンURL
  • ASPNETCORE_ENVIRONMENT – 実行環境

PHP

イメージ

  • php – PHP公式イメージ
  • php:fpm – PHP-FPM版
  • php:apache – Apache付き版

主要設定項目

  • PHP_VERSION – PHPのバージョン
  • PHP_INI_DIR – php.iniディレクトリ
  • PHP_CFLAGS – コンパイルフラグ
  • PHP_CPPFLAGS – プリプロセッサフラグ
  • PHP_LDFLAGS – リンカーフラグ
  • APACHE_CONFDIR – Apache設定ディレクトリ(Apache版)

Ruby

イメージ

  • ruby – Ruby公式イメージ
  • ruby:alpine – Alpine Linuxベース

主要設定項目

  • RUBY_VERSION – Rubyのバージョン
  • RUBY_MAJOR – Rubyメジャーバージョン
  • GEM_HOME – Gemホームディレクトリ
  • BUNDLE_PATH – Bundlerパス
  • BUNDLE_SILENCE_ROOT_WARNING – Bundler警告の無効化

Perl

イメージ

  • perl – Perl公式イメージ

主要設定項目

  • PERL_VERSION – Perlのバージョン
  • PERL_MM_USE_DEFAULT – CPANモジュールインストール時のデフォルト使用

R

イメージ

  • r-base – R言語ベース環境
  • rocker/r-ver – Rockerプロジェクトによる版管理されたR

主要設定項目

  • R_VERSION – Rのバージョン
  • R_HOME – Rホームディレクトリ
  • R_LIBS_USER – ユーザーライブラリパス
  • CRAN – CRANミラーURL

Swift

イメージ

  • swift – Swift公式イメージ

主要設定項目

  • SWIFT_VERSION – Swiftのバージョン
  • SWIFT_PLATFORM – プラットフォーム

Scala

イメージ

  • hseeberger/scala-sbt – Scala + SBT環境

主要設定項目

  • SCALA_VERSION – Scalaのバージョン
  • SBT_VERSION – SBTのバージョン
  • JAVA_HOME – Java実行環境のパス

Kotlin

イメージ

  • zenika/kotlin – Kotlin環境

主要設定項目

  • KOTLIN_VERSION – Kotlinのバージョン
  • JAVA_HOME – Java実行環境のパス

Elixir

イメージ

  • elixir – Elixir公式イメージ

主要設定項目

  • ELIXIR_VERSION – Elixirのバージョン
  • ERLANG_VERSION – Erlangのバージョン
  • MIX_ENV – Mix環境(dev/prod/test)

Haskell

イメージ

  • haskell – Haskell公式イメージ

主要設定項目

  • GHC_VERSION – GHCのバージョン
  • CABAL_VERSION – Cabalのバージョン
  • STACK_VERSION – Stackのバージョン(Stack使用時)

これらの設定項目は、DockerfileでENV命令を使用して設定したり、
docker runコマンドの-eオプションで環境変数として指定することができます。

他dockerコマンドはこちら

コメント