Skip to content

Commit

Permalink
Lagoon化 Dockerイメージ
Browse files Browse the repository at this point in the history
  • Loading branch information
masatoshi-kameyama committed Jul 16, 2024
1 parent 107bd2d commit 3021dcd
Show file tree
Hide file tree
Showing 16 changed files with 407 additions and 311 deletions.
18 changes: 9 additions & 9 deletions docs/ja/docker-images/commons.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Commons

[Lagoon `commons` Dockerイメージ](https://github.com/uselagoon/lagoon-images/tree/main/images/commons)[公式のAlpineイメージ](https://hub.docker.com/_/alpine/)を基にしています
[Lagoon `commons` Dockerイメージ](https://github.com/uselagoon/lagoon-images/tree/main/images/commons)[公式のAlpineイメージ](https://hub.docker.com/_/alpine/)をベースにしています

このイメージ自体には機能はありませんが、代わりに基本イメージであり、他のイメージを構築するために拡張して利用されることを目的としています。Lagoonのすべてのalpineベースのイメージは、共有リソースからコンポーネントを継承しています
このイメージ自体は機能を持ちません。代わりに、他のイメージをビルドするための基本イメージとして使用されます。Lagoon内のすべてのalpineベースのイメージは、commonsからコンポーネントを継承しています

## 含まれるツール
## ツール

- `docker-sleep` - 標準化された1時間のスリープ
- `fix-permissions` - 指定したディレクトリのパーミッションを自動的に全グループの読み書き可能に修正
- `wait-for` - サービスが正しい順序で起動していることを保証する小さなスクリプト - https://github.com/eficode/wait-for を基にしています
- `docker-sleep` - 標準化された1時間のスリープ機能
- `fix-permissions` - 指定したディレクトリのパーミッションを自動的に全グループの読み書き可能に変更
- `wait-for` - サービスが正しい順序で起動していることを確認する小さなスクリプト - https://github.com/eficode/wait-for を基にしています
- `entrypoint-readiness` - 長時間実行されるエントリーポイントが完了したことを確認
- `entrypoints` - /lagoon/entrypoints/* の下にあるすべてのエントリーポイントをアルファベット/数値順にソースするスクリプト
- `entrypoints` - /lagoon/entrypoints/* ディレクトリ内のすべてのエントリーポイントをアルファベット順/数値順に読み込むスクリプト

## 含まれるエントリーポイント
## エントリーポイント

このイメージのデフォルトのエントリーポイントのリストは[https://github.com/uselagoon/lagoon-images/tree/main/images/commons/lagoon/entrypoints](https://github.com/uselagoon/lagoon-images/tree/main/images/commons/lagoon/entrypoints)で見つけることができます。それに続くダウンストリームのイメージ 最終的なイメージで実行される`/lagoon`の下にエントリーポイントを提供します
このイメージのデフォルトのエントリーポイントの一覧は[https://github.com/uselagoon/lagoon-images/tree/main/images/commons/lagoon/entrypoints](https://github.com/uselagoon/lagoon-images/tree/main/images/commons/lagoon/entrypoints)にあります。以降の下流イメージも、`/lagoon`配下にエントリーポイントを追加でき、最終的なイメージで実行さます
69 changes: 35 additions & 34 deletions docs/ja/docker-images/mariadb.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,73 @@
# MariaDB

MariaDBは、オープンソースのMySQL後継者です
MariaDBは、MySQLの後継のオープンソースです

[Lagoonの `MariaDB` イメージDockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/10.6.Dockerfile) は、上流のAlpineイメージが提供する公式パッケージ [`mariadb`](https://pkgs.alpinelinux.org/packages?name=mariadb&branch=edge)[`mariadb-client`](https://pkgs.alpinelinux.org/packages?name=mariadb-client&branch=edge) をベースにしています
[Lagoonの `MariaDB` イメージのDockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/10.6.Dockerfile)は、公式のAlpineイメージで提供される [`mariadb`](https://pkgs.alpinelinux.org/packages?name=mariadb&branch=edge)[`mariadb-client`](https://pkgs.alpinelinux.org/packages?name=mariadb-client&branch=edge) パッケージをベースにしています

このDockerfileは、スタンドアロンのMariaDBデータベースサーバを設定するために使用されることを意図しています
このDockerfileは、スタンドアロンのMariaDBデータベースサーバーをセットアップするために使用されます

* 10.4 [Dockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/10.4.Dockerfile) (Alpine 3.12 は2022年5月までサポート) - `uselagoon/mariadb-10.4`
* 10.5 [Dockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/10.5.Dockerfile) (Alpine 3.14 は2023年5月までサポート) - `uselagoon/mariadb-10.5`
* 10.6 [Dockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/10.6.Dockerfile) (Alpine 3.16 は2024年5月までサポート) - `uselagoon/mariadb-10.6`
* 10.11 [Dockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/10.11.Dockerfile) (Alpine 3.18 は2025年5月までサポート) - `uselagoon/mariadb-10.11` !!!情報
これらのイメージは、上流のMariaDBイメージから構築されていないため、サポートは別のサイクルに従います - そして、基礎となるAlpineイメージがサポートを受けている限りのみアップデートを受けます - [https://alpinelinux.org/releases/](https://alpinelinux.org/releases/)を参照してください。実際には、ほとんどのMariaDBユーザーはこれらのコンテナをローカルで実行しています - 本番環境ではDBaaSオペレーターが提供するManaged Cloud Databasesを使用します。
* 10.11 [Dockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/10.11.Dockerfile) (Alpine 3.18 は2025年5月までサポート) - `uselagoon/mariadb-10.11`
!!!情報
これらのイメージは、公式のMariaDBイメージから構築されていないため、サポートサイクルが異なり、基盤となるAlpineイメージがサポートされている期間のみアップデートが提供されます。詳細は[https://alpinelinux.org/releases/](https://alpinelinux.org/releases/)を参照してください。実際にはほとんどの場合、MariaDBコンテナをローカルでのみ実行し、本番環境ではDBaaSオペレーターが提供するManaged Cloud Databasesを利用します。

## Lagoonの適応 { #lagoon-adaptions }

MariaDBコンテナのデフォルトの公開ポートはポート`3306`です。

LagoonがMariaDBコンテナを最良の方法で実行することを可能にするために`lagoon.type: mariadb`を使用します - これにより、DBaaSオペレーターがクラスターで利用可能な場合にクラウドデータベースをプロビジョニングできます。コンテナ内のMariaDBを特にリクエストするには`lagoon.type: mariadb-single`を使用します。永続的なストレージは、常に`/var/lib/mysql`でMariaDBコンテナに対してプロビジョニングされます
LagoonがMariaDBコンテナの実行方法を最適に選択できるようにするには`lagoon.type: mariadb`を使用しますこれにより、DBaaSオペレーターは、クラスター内で利用可能な場合、クラウドデータベースをプロビジョニングできます。コンテナ内でMariaDBを確実に実行したい場合は`lagoon.type: mariadb-single`を使用してください。MariaDBコンテナに対しては、永続ストレージが常に`/var/lib/mysql`にプロビジョニングされます

このイメージはLagoonで使用するために準備されています。したがって、すでにいくつかのことが行われています:
このイメージはLagoonで使用されることを想定して準備されています。そのため、すでにいくつかのことが行われています:

* フォルダのパーミッションは自動的に[`fix-permissions`](https://github.com/uselagoon/lagoon-images/blob/main/images/commons/fix-permissions)で調整されるため、このイメージは ランダムなユーザー
* MariaDBコンテナが準備完了したことを確認するための `readiness-probe.sh` スクリプト。
* フォルダの権限は、[`fix-permissions`](https://github.com/uselagoon/lagoon-images/blob/main/images/commons/fix-permissions)で自動的に適応されるため、このイメージはランダムなユーザーで動作します
* `readiness-probe.sh` スクリプト、MariaDB コンテナの準備完了状態を確認します

## `docker-compose.yml` スニペット { #docker-composeyml-snippet }

```yaml title="docker-compose.yml"
mariadb:
image: uselagoon/mariadb-10.6-drupal:latest
labels:
# LagoonにこれがMariaDBデータベースであることを伝える
# LagoonにMariaDBデータベースであることを伝える
lagoon.type: mariadb
ports:
# ポート3306をランダムなローカルポートで公開し、`docker-compose port mariadb 3306`でそれを見つける
- "3306"
volumes:
# 名前付きボリュームをMariaDBのデフォルトパスにマウントする
# MariaDB用のデフォルトパスに名前付きボリュームをマウントする
- db:/var/lib/mysql
```

## 含まれるツール
## ツール { #included-tools }

* [`mysqltuner.pl`](https://github.com/major/MySQLTuner-perl) - データベースパラメータのチューニングに役立つPerlスクリプト
* [`mysql-backup.sh`](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/mysql-backup.sh) - 開発環境での日次MySQLバックアップを自動化するスクリプト
* [`mysqltuner.pl`](https://github.com/major/MySQLTuner-perl) - データベースのパラメータ調整に便利なPerlスクリプト
* [`mysql-backup.sh`](https://github.com/uselagoon/lagoon-images/blob/main/images/mariadb/mysql-backup.sh) - 開発環境で MySQL の日次バックアップを自動化するスクリプト
* [`pwgen`](https://linux.die.net/man/1/pwgen) - ランダムで複雑なパスワードを生成するユーティリティ。

## 含まれる `my.cnf` 設定ファイル
## `my.cnf` 設定ファイル { #included-mycnf-configuration-file }

このイメージには、_デフォルト_ のMariaDB設定ファイルが含まれており、Lagoonで動作するように最適化されています。一部のオプションは[環境変数](../concepts-advanced/environment-variables.md)を介して設定可能です
このイメージには、Lagoonで動作するように最適化された _デフォルト_ のMariaDB設定ファイルが付属しています。一部のオプションは[環境変数](../concepts-advanced/environment-variables.md)で設定可能です

## 環境変数 { #environment-variables }

| 環境 | 変数名 | デフォルト | 説明 |
| 環境変数名 | デフォルト | 説明 |
| :----------------------------------- | :-------------------- | :--------------------------------------------------------------------------- |
| MARIADB_DATABASE | lagoon | 起動時に作成されるデータベース名 |
| MARIADB_USER | lagoon | 起動時に作成されるデフォルトユーザー |
| MARIADB_PASSWORD | lagoon | 起動時に作成されるデフォルトユーザーのパスワード |
| MARIADB_ROOT_PASSWORD | Lag00n | MariaDBのルートユーザーのパスワード |
| MARIADB_CHARSET | utf8mb4 | サーバーの文字セットを設定する |
| MARIADB_COLLATION | utf8mb4_bin | サーバーの照合順序を設定する |
| MARIADB_MAX_ALLOWED_PACKET | 64M | `max_allowed_packet`のサイズを設定する |
| MARIADB_INNODB_BUFFER_POOL_SIZE | 256M | MariaDB InnoDBバッファプールのサイズを設定します |
| MARIADB_INNODB_BUFFER_POOL_INSTANCES | 1 | InnoDBバッファプールインスタンスの数 |
| MARIADB_INNODB_LOG_FILE_SIZE | 64M | InnoDBログファイルのサイズ |
| MARIADB_LOG_SLOW | (設定なし) | 遅いクエリの保存を制御する変数 |
| MARIADB_LOG_QUERIES | (設定なし) | すべてのクエリの保存を制御する変数 |
| BACKUPS_DIR | /var/lib/mysql/backup | データベースのバックアップのデフォルトパス |
| MARIADB_DATA_DIR | /var/lib/mysql | MariaDBのデータディレクトリのパス。注意してください、これを変更するとデータの損失が発生する可能性があります|
| MARIADB_COPY_DATA_DIR_SOURCE | (設定なし) | mariadbのエントリーポイントスクリプトが定義した`Mをコピーするために使用するパス。 `ARIADB_DATA_DIR`は、MariaDBにデータベースを事前に入れるために使用できます。このスクリプトは、sqlファイルではなく、実際のMariaDBデータファイルを期待しています!また、目的地にすでにmysqlのdatadirが存在しない場合にのみデータをコピーします|

`LAGOON_ENVIRONMENT_TYPE`変数が`production`に設定されている場合、パフォーマンスは`MARIADB_INNODB_BUFFER_POOL_SIZE=1024`および`MARIADB_INNODB_LOG_FILE_SIZE=256`を使用して適切に設定されます
| MARIADB_DATABASE | lagoon | 起動時に作成されるデータベース名 |
| MARIADB_USER | lagoon | 起動時に作成されるデフォルトユーザー |
| MARIADB_PASSWORD | lagoon | 起動時に作成されるデフォルトユーザーのパスワード |
| MARIADB_ROOT_PASSWORD | Lag00n | MariaDBのルートユーザーのパスワード |
| MARIADB_CHARSET | utf8mb4 | サーバーの文字セットを設定する |
| MARIADB_COLLATION | utf8mb4_bin | サーバーの照合順序を設定する |
| MARIADB_MAX_ALLOWED_PACKET | 64M | `max_allowed_packet`のサイズを設定する |
| MARIADB_INNODB_BUFFER_POOL_SIZE | 256M | MariaDB InnoDBバッファプールのサイズを設定します |
| MARIADB_INNODB_BUFFER_POOL_INSTANCES | 1 | InnoDBバッファプールインスタンスの数 |
| MARIADB_INNODB_LOG_FILE_SIZE | 64M | InnoDBログファイルのサイズ |
| MARIADB_LOG_SLOW | (設定なし) | 遅いクエリの保存を制御する変数 |
| MARIADB_LOG_QUERIES | (設定なし) | すべてのクエリの保存を制御する変数 |
| BACKUPS_DIR | /var/lib/mysql/backup | データベースのバックアップのデフォルトパス |
| MARIADB_DATA_DIR | /var/lib/mysql | MariaDBのデータディレクトリのパス。注意してください、この値を変更するとデータ損失が発生する可能性があります|
| MARIADB_COPY_DATA_DIR_SOURCE | (設定なし) | Mariadbのエントリーポイントスクリプトが、設定された`ARIADB_DATA_DIR`ディレクトリにデータをコピーする際に使用するパスについてセル名します。このパスを利用して、データベースをあらかじめMariaDBに投入することができます。 ただし、スクリプトはSQLファイルではなく、実際のMariaDBデータファイルの存在を前提としています。 さらに、スクリプトは、コピー先のディレクトリに既存のMySQLデータディレクトリが存在しない場合にのみ、データをコピーします|

`LAGOON_ENVIRONMENT_TYPE` 変数が `production` に設定されている場合、パフォーマンスは `MARIADB_INNODB_BUFFER_POOL_SIZE=1024` および `MARIADB_INNODB_LOG_FILE_SIZE=256` に設定することで最適化されます
10 changes: 5 additions & 5 deletions docs/ja/docker-images/mongodb.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# MongoDB

> _MongoDBは、モダンなアプリケーション開発者とクラウド時代のために構築された、汎用的な、ドキュメントベースの分散データベースです。MongoDBはドキュメントデータベースであり、JSON形式のドキュメントとしてデータを格納します。_
> _MongoDBは、汎用的なドキュメント型分散データベースであり、現代のアプリケーション開発者やクラウド時代のニーズに合わせて構築されています。データは JSONのような形式のドキュメントで保存されます_
>
> * [mongodb.com](https://www.mongodb.com/)から
> * 出典: [mongodb.com](https://www.mongodb.com/)
## サポートされているバージョン { #supported-versions }

4.0 [Dockerfile](https://github.com/uselagoon/lagoon-images/blob/main/images/mongo/4.Dockerfile) - `uselagoon/mongo-4`

このDockerfileは、スタンドアロンのMongoDBデータベースサーバーをセットアップするためのものです
このDockerfileは、スタンドアロンのMongoDBデータベースサーバーをセットアップするために使用されます

## Lagoonの適応 { #lagoon-adaptions }

このイメージはLagoonで使用するために準備されています。したがって、すでにいくつかのことが行われています:
このイメージはLagoonで使用されることを想定して準備されています。そのため、すでにいくつかのことが行われています:

* フォルダーの権限は自動的に[`fix-permissions`](https://github.com/uselagoon/lagoon-images/blob/main/images/commons/fix-permissions)で適応されるため、このイメージはランダムなユーザーで動作し、したがってKubernetesまたはOpenShiftでも動作します
* フォルダの権限は、[`fix-permissions`](https://github.com/uselagoon/lagoon-images/blob/main/images/commons/fix-permissions)で自動的に適応されます。これにより、ランダムなユーザーでも動作するようにするため、KubernetesやOpenShiftでも使用できます
Loading

0 comments on commit 3021dcd

Please sign in to comment.