EC-CUBE / EC-CUBE/ec-cube

ランタイム環境向けと開発環境向けのDockerfileを整備できないか

Open
#4,754 4 comments 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
PHP
Stars
788
Forks
719
Avg merge
4d 4h
Merged PRs (30d)
39

Description

## 概要(Overview)

現行のDockerfileは開発環境向けのものと思われるが、開発環境として使用するにはデフォルトで追加したほうがより便利になるツールがあると感じている

- 例:`eccube:fixtures:generate`に必要な画像生成プラグイン など

一方、現状のDockerfileはランタイム環境としては想定されておらず、そのような環境においてはイメージサイズやセキュリティ面で入れるべきでないツールなどもあるため、最小限の構成が求められる。

Kubernetesなどの稼働環境は知見のあるユーザーにとっては選択肢になると考えているため、上記を整備できればコンテナ環境が使いやすくなるのではないか?

## 期待する内容(Expect) or 要望 (Requirement)

- 開発環境向けにツール類を充実させたコンテナ環境の整備
- ランタイム環境向けにイメージサイズやセキュリティを重視したコンテナ環境の整備
- 上記の切り分けを行うことで「帯に短し襷に長し」といった状況を避け、各環境に向けた改善を個別に行うことができるようになる

複数のDockerfileをメンテナンスするのは難しくなるため、Docker Engine 17.05以降で使用できるマルチステージビルドを活用することで、上記を実現できないか

```shell
# 開発環境
$ docker build --target develop .
# ランタイム環境
$ docker build --target runtime .
```

## 再現手順(Procedure)

### 環境 (environment)
+ EC-CUBE: 4.0.x
+ PHP: 7.x.x
+ DB:
- PostgreSQL x.x.x
- MySQL x.x.x

## 関連情報 (Ref)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.