サンプル¶
チュートリアル・ラボ¶
公開されている標準的プラクティスのサンプルを通して、コンテナ化したアプリケーションをどのようにして開発・移動をするか学びましょう。各ラボの出典は 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 を使って作成
サンプルアプリケーション¶
- apt-cacher-ng
- Docker 化した apt-cacher-ng インスタンスを実行
- .Net Core application
- Docker 化した ASP.NET Core アプリケーションを実行
- ASP.NET Core + SQL Server on Linux
- Docker 化した ASP.NET Core + SQL サーバ環境を実行
- CouchDB
- Docker 化した Couch DB インスタンスを実行
- Django + PostgreSQL
- Docker 化した Django + PostgreSQL 環境を実行
- PostgreSQL
- Docker 化した PostgreSQL インスタンスを実行
- Rails + PostgreSQL
- Docker 化した Rails + PostgreSQL 環境を実行
- Riak
- Docker 化した Riak インスタンスを実行
- SSHd
- Docker 化した SSHd インスタンスを実行
ライブラリ・リファレンス¶
以下は人気の公式 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
- jRuby(http://www.jruby.org)は JVM 上の Ruby( http://www.ruby-lang.org )実装
- 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 は高信頼性分散コーディネーションのためのオープンソースのサーバ
参考
- Samples
- https://docs.docker.com/samples/