サンプル

チュートリアル・ラボ

公開されている標準的プラクティスのサンプルを通して、コンテナ化したアプリケーションをどのようにして開発・移動をするか学びましょう。各ラボの出典は Docker Labs リポジトリ です。

  • Docker for Beginners (初心者向け Docker )
    • 良い「Docker 101」コースです。
  • Docker Swarm mode
    • swarm という、Docker 対応の Docker Engine ネイティブなクラスタ管理
  • Configuring developer tools and programming languages (開発ツールとプログラミング言語の設定)
    • Docker で共通する開発ツールやプログラミング言語の設定方法
  • Live Debugging Java with Docker (Docker による Java ライブデバッグ)
    • Java 開発者は、コンテナ内でコードをライブで実行、テスト、デバッグしながら開発できる環境を Docker でできます。
  • Docker for Java Developers (Java 開発者のための Docker)
    • Java 開発者向けの、 Docker による初級レベルかつ自己ペースのハンズオンワークショップです。
  • Live Debugging a Node.js application in Docker (Docker による Node.js アプリケーションのライブデバッグ)
    • Node 開発者は、コンテナ内でコードをライブで実行、テスト、デバッグしながら開発できる環境を Docker でできます。
  • Dockerizing a Node.js application (Node.js アプリケーションの Docker 化)
    • シンプルな Node.js アプリケーションでチュートリアルは始まり、Docker 化に必要なステップの詳細と、スケーラビリティを確保します。
  • Docker for ASP.NET and Windows containers (ASP.NET と Windows コンテナ用の Docker)
    • Docker は Windows コンテナもサポートしています。ASP.NET 、 SQL Server 等を実行する方法を、チュートリアルで学びましょう。
  • Docker Security (Docker セキュリティ)
    • Docker セキュリティ機能の活用方法
  • Building a 12-factor application with Docker (12-factor アプリケーションを Docker で構築)
    • Heroku の "クラウドネイティブ・アプリケーションのための 12 要素" に合致するアプリケーションを Docker を使って作成

サンプルアプリケーション

ライブラリ・リファレンス

以下は人気の公式 Docker イメージです。詳細なドキュメントは、各イメージ名をクリックして表示します。

  • adminer
    • 1つの PHP ファイルによるデータベース管理
  • adoptopenjdk
    • AdoptOpenJDK によって構築された、 OpenJDK + HotSpot and OpenJDK + Eclipse OpenJ9 バイナリの公式イメージ
  • aerospike
    • Aerospike とは、フラッシュと RAM 向けに最適化された、信頼性のある高性能な分散データベース
  • alpine
    • Alpine Linux をベースにし、パッケージ・インデックス一式で構成される最小の Docker イメージで、容量は 5 MB のみ!
  • alt
    • ALT Linux の公式ビルド
  • amazoncorretto
    • Corretto は、コストのかからない、 Open Java Development Kit (OpenJDK) のプロダクション対応ディストリビューション
  • amazonlinux
    • Amazon Linux はアプリケーションに対して安定、安全、高性能な実行環境を提供
  • arangodb
    • ドキュメント、グラフ、キーバリュー向けの柔軟なデータモデルを持つ分散データベース
  • backdrop
    • 小中のビジネスおよび非営利向けの包括的 CMS
  • bash
    • GNU Bourne Again SHELL プロジェクトの Bash
  • bonita
    • Bontia はオープンソースのビジネスプロセス管理とワークフロー・スイート
  • buildpack-deps
    • Gems のような、様々なモジュールのインストールに使える、共通の依存関係をビスドする集まり
  • busybox
    • Busybox ベースイメージ
  • cassandra
    • Apache Cassandra はオーブンソースの分散ストレージシステム
  • centos
    • CentOS の公式ビルド
  • chronograf
    • Chronograf は infuxDB の時系列データを可視化するツール
  • cirros
    • CirrOS はクラウド上での実行に特化した小さな OS
  • clearlinux
    • インテルアーキテクチャ用の Clear Linux OS の公式 docker ビルド
  • clefos
    • ClefOS はクラウド上での実行に特化した小さな OS
  • clojure
    • Clojure は JVM 上で動作する Lisp の派生
  • composer
    • Composer は PHP で書かれた PHP 用の依存関係マネージャ
  • consul
    • Consul はデータセンタ・ランタイムで、サービス・ディスカバリ、設定、オーケストレーションを提供
  • convertigo
    • Convertigo はモバイル・アプリケーション開発のためのオープンソース MBaaS/MADP プラットフォームかつバックエンド
  • couchbase
    • Couchbase Server は分散アーキテクチャを持つ NoSQL ドキュメント・データベース
  • couchdb
    • CouchDB はドキュメント用 JSON を使うデータベースで、 HTTP API と JavaScript の宣言型インデックス
  • crate
    • CrateDB は分散 SQL データベースで、リアルタイムに大量のマシンデータを扱う
  • crux
    • CRUX は熟練した Linux ユーザが対象の、軽量な Linux ディストリビューション
  • debian
    • Debian は全て自由かつオープンソース・ソフトウェアによって構成される Linux ディストリビューション
  • docker
    • Docker in Docker!(Docker で Docker を動かす)
  • drupal
    • Drupal は数百万のウェブサイトやアプリケーションを支える、オープンソースのコンテント管理プラットフォーム
  • eclipse-mosquitto
    • Eclipse Mosquitto はオープンソースのメッセージ・ブローカで、MQTT バージョン 5、3.1.1 と 3.1 を実装
  • eggdrop
    • Eggdrop の公式 Docker イメージで、 IRC で最も古くから開発がアクティブなボット
  • elasticsearch
    • Elasticsearch は強力なオープンソースの検索および解析エンジンで、データを簡単に探索できる
  • elixir
    • Elixir は動的で機能的な言語で、スケーラブルでメンテナンス可能なアプリケーション向け
  • erlang
    • Erlang はプログラミング言語で、大規模にスケールする高可用性システムを構築するのに使う
  • euleros
    • EulerOS の公式リリース
  • express-gateway
    • Express Gateway の公式 Docker イメージで、API とマイクロサービス用の API ゲートウェイ
  • fedora
    • Fedora の公式 Docker ビルド
  • flink
    • Apache Flink は強力なオープンソースの分散システム、かつ、バッチ処理フレームワーク
  • fluentd
    • Fluentd はオープンソースのデータコレクタで、ログ記録レイヤを統合する用途
  • fsharp
    • F# はマルチパラダイム言語で、機能性、継承、オブジェクト指向スタイルを包括
  • gazebo
    • Gazebo はロボットのシミュレーション用途のオープンソース・プロジェクトで、物理およびレンダリングに特化
  • gcc
    • GNU コンパイラ・コレクションは複数の言語をサポートするコンパイリング・システム
  • geonetwork
    • GeoNetwork は参照型リソースに特化した FOSS カタログ
  • ghost
    • Ghost は JavaScript で書かれた自由かつオープンソースのブログ記述プラットフォーム
  • golang
    • Go(Go言語)は汎用的な、高レベル、インタラクティブなプログラミング言語
  • gradle
    • Gradle は構築ツールで、構築の自動化と複数言語の開発サポート員特化
  • groovy
    • Apache Groovy は Java プラットフォーム向けに複数の切り口がある言語
  • haproxy
    • HAProxy は信頼性がある高性能 TCP/HTTP ロードバランサ
  • haskell
    • Haskell は高度で純粋に機能的なプログラミング言語
  • haxe
    • Haxe は複数のコンパイルを対象にした、モダンで、高レベルな、静的型プログラミング言語
  • hello-world
    • Hello World!(Docker 化の最小例)
  • httpd
    • Apache HTTPD サーバ・プロジェクト
  • hylang
    • Hy は Lisp の派生で、Python の抽象化構文ツリーに変換して表現
  • ibmjava
    • 公式 IBM(R) SDK, Java(TM) テクノロジーエディションの Docker イメージ
  • influxdb
    • InfluxDB はオープンソースの時系列データベースで、用途はメトリクス、イベント、解析
  • irssi
    • irssi は未来の IRC クライアント
  • jetty
    • Jetty はウェブサーバと javax.servlet コンテナを提供
  • jobber
    • Jobber は cron の代替で、適切なステータス報告とエラーハンドリングをする
  • joomla
    • Jommla はオープンソースのコンテント管理システム
  • jruby
  • julia
    • Julia はテクニカル・コンピューティング用の高レベル、高パフォーマンスな動的プログラミング言語
  • kaazing-gateway
    • Kaazing Gateway の公式ビルド
  • kapacitor
    • Kapacitor は時系列データのプロセッシング、モニタリング、アラーティングのためのオープンソースのフレームワーク
  • kibana
    • Kibana は構造化・非構造化にかかわらず様々なデータをまとめ、Elasticsearch でインデックス化します
  • known
    • ブログを書き、ソーシャルで会う。Known はソーシャル・パブリッシング・プラットフォームです
  • kong
    • API とマイクロサービスのためのクラウドネイティブ API ゲートウェイ&サービス
  • lightstreamer
    • Lightstreamer はリアルタイムのメッセージングサーバで、インターネットに最適化
  • logstash
    • Logstash はイベントとログを管理するツール
  • mageia
    • 公式 Mageia ベースイメージ
  • mariadb
    • MariaDB は MySQL をフォークし、GNU GPL 配下を維持し続けるためコミュニティによって開発
  • matomo
    • Matomo は先駆的なオープンソースの解析プラットフォームで、パワフルな解析を提供
  • maven
    • Apache maven はソフトウェアのプロジェクト管理と理解のためのツール
  • mediawiki
    • MediaWiki は PHP で書かれたオープンソース wiki パッケージで、自由に使えるソフトウェア
  • memcached
    • 自由に使える&オープンソースの、高性能、分散メモリ・オブジェクト・キャッシュ・システム
  • mongo-express
    • Web ベースの MongoDB 管理インターフェイスで、Node.js と express で記述
  • mongo
    • MongoDB ドキュメント・データベースは高可用性と簡単なスケーラビリティを提供
  • mono
    • Mono は Microsoft の .NET フレームワークのオープンソースによる実装
  • mysql
    • MySQL は広範囲で利用されている、オープンソースのリレーショナル・データベース管理システム(RDBMS)
  • nats-streaming
    • NATS Streaming はオープンソースの、高性能な、クラウドネイティブなメッセージング・ストリーミング・システム
  • nats
    • NATS はオープンソースの、高性能な、クラウドネイティブなメッセージング・システム
  • neo4j
    • Neo4j は高スケーラブルで堅牢なネイティブ・グラフ・データベース
  • neurodebian
    • NeuroDebian は 神経科学研究ソフトウエアで、Debian 、Ubuntu 、その他派生向け
  • nextcloud
    • 全てのデータのための安全なホーム
  • nginx
    • Nginx の公式ビルド
  • node
    • Node.js は JavaScript をベースとしたプラットフォームで、サーバサイドとネットワーキング・アプリケーション向け
  • notary
    • Notary Server と協調的書名を扱う書名(signer cooperatively handle signing)と notary リポジトリの配布
  • nuxeo
    • Nuxeo はオープンソースのコンテント管理プラットフォームで、完全にカスタマイズ可能
  • odoo
    • Odoo(以前は OpenERP という名称)はオープンソースのビジネスアプリ・スイート
  • open-liberty
    • 公式 Open Liberty イメージ
  • openjdk
    • OpenJDK は Java プラットフォーム Standard Edition のオープンソース実装
  • opensuse
    • 廃止 - openSUSE プロジェクトによる現在のイメージは opensuse/leap と opensuse/tumbleweed を参照
  • oraclelinux
    • Oracle Linux の公式 Docker ビルド
  • orientdb
    • OrientDB はマルチ・モデルのオープンソース NoSQL DBMS で、グラフとドキュメントを組み合わせたもの
  • percona
    • Percona Server は MySQL リレーショナル・データベース管理のフォークで、Percona によって作られた
  • perl
    • Perl は高レベル、汎用的、インタプリタ型の、動的プログラミング言語
  • photon
    • Photon OS はオープンソースの最小 Linux コンテナホスト
  • php-zendserver
    • Zend Server は統合 PHP アプリケーション・プラットフォームで、ウェブとモバイルアプリケーションの両方向け
  • php
    • ウェブ開発用に設計された PHP スクリプティング言語で、汎用的にも使えるよう提供
  • plone
    • Phone は自由に使えるオープンソースのコンテント管理システムで、Zope 上で構築
  • postfixadmin
    • Postfix Admin は Postfix メールサーバ用のウェブベースの管理インターフェース
  • postgres
    • PostgreSQL オブジェクト関連データベース・システムは信頼性とデータの完全性を提供
  • pypy
    • PyPy は高速で、 Python 言語の実装を忠実に置き換えたもの
  • python
    • Python はインタプリタ型の、インタラクティブで、オブジェクト指向のオープンソース・プログラミング言語
  • r-base
    • R は統計学的計算とグラフのためのシステム
  • rabbitmq
    • RabbitMQ はオープンソースのマルチ・プロトコロウのメッセージブローカー
  • rakudo-star
    • Rakudo Perl 6、もしくはシンプルに Rakudo は、Perl 6 プログラミング言語のコンパイラ
  • rapidoid
    • Rapidoid は高性能 HTTP サーバとモダンな Java ウェブフレームワーク / アプリケーションコンテナ
  • redis
    • Redis はオープンソースのキーバリューストアで、データ構造サーバを機能として扱う
  • redmine
    • Redmine は柔軟なプロジェクト管理ウェブアプリケーションで、Ruby on Rails フレームワークを用いて記述
  • registry
    • Docker イメージの保管・配布をする、Docker Registry 2.0 の実装
  • rethinkdb
    • RethinkDB はオープンソースのドキュメント・データベースで、リアルタイム・アプリの構築とスケールを簡単にする
  • rocket.chat
    • 完全にオープンソースのチャット・ソリューション
  • ros
    • Robot Operating System(ROS)はロボットアプリケーションを構築するためのオープンソースのプロジェクト
  • ruby
    • Ruby はオープンソースのプログラミング言語で、動的でリフレクティブで、オブジェクト指向であり、汎用的
  • rust
    • Rust は安全、速度、一貫性に焦点をあてたシステムプログラミング言語
  • sapmachine
    • 公式 SapMachine Docker イメージ
  • scratch
    • 中身がないイメージ(emply image)であると明示します。特にイメージ構築時 "FROM scratch" として指定
  • sentry
    • Sentry はリアルタイムの、プラットフォームに依存しないエラーのログ記録と統合プラットフォーム
  • silverpeas
    • Silverpeas はターンキーかつオープンソースの共同作業およびソーシャルネットワーキング・プラットフォーム
  • sl
    • Scientific Linux (SL) の公式コンテナ
  • solr
    • Solr は人気のある非常に高速なオープンソースのエンタープライズ検索プラットフォームで、 Apache ライセンス(TM) 上で構築
  • sonarqube
    • SonarQube はコード品質を継続的に調査するための、オープンソースのプラットフォーム
  • sourcemage
    • SourceMage はオープンソースをベースとし、カスタマイズによる最大限の柔軟さがある GNU/Linux ディストリビューション
  • spiped
    • Spiped は対象暗号化(symmetrically encrypted)とソケット間における認証パイプを作成するユーティリティ
  • storm
    • Apache Storm は自由に使えるオープンソースとして配布されている、リアルタイム計算システム
  • swarm
    • Swarm とは Docker ネイティブのクラスタリング・システム
  • swift
    • Swift は高性能なシステムプログラミング言語。Swift を詳しく学ぶには swift.org を訪問
  • swipl
    • SWI-Prolog は包括的なフリー Prolog 環境を提供
  • teamspeak
    • TeamSpeak はインターネット経由での音声コミュニケーション品質に対するソフトウェア
  • telegraf
    • Telegraf はメトリクスを収集するエージェントと、メトリクスを InfluxDB や他のアウトプットに書き出す
  • thrift
    • Thrift は IDL からクライアントとサービスを生成するフレームワーク
  • tomcat
    • Apache Tomcat はオープンソースで実装した Java サーブレットと JavaServer Pages 技術
  • tomee
    • Apache TomEE は全て Java EE で認定された最大のスタック
  • traefik
    • Traefic はクラウドネイティブのエッジ・ルータ
  • ubuntu
    • Ubuntu は自由に使えるソフトウェアを基盤とする Debian がベースの Linux オペレーティングシステム
  • varnish
    • Varnish は HTTP アクセラレータで、コンテンツが重たい動的なウェブサイトだけでなく API も対象に設計
  • vault
    • Vault は統合インターフェースと厳密なアクセス制御を経由し、シークレット(機微情報)に安全にアクセスできるようにするツール
  • websphere-liberty
    • Liberty イメージ開発者向けの公式 IBM WebSphere アプリケーションサーバ
  • wordpress
    • WordPress は豊富な機能を持つコンテント管理システムで、プラグインやウィジェットやテーマを活用できる
  • xwiki
    • XWiki は高度なオープンソースのエンタープライズ Wiki
  • yourls
    • YOURLS は自分で URL を短くできる PHP スクリプト群
  • znc
    • ZNC は高度な IRC バウンサー
  • zookeeper
    • Apache ZooKeeper は高信頼性分散コーディネーションのためのオープンソースのサーバ