サンプル

チュートリアル・ラボ

公開されている標準的プラクティスのサンプルを通して、コンテナ化したアプリケーションをどのようにして開発・移動をするか学びましょう。各ラボの出典は 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 は高信頼性分散コーディネーションのためのオープンソースのサーバ