このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
ソフトウェア:docker:docker-compose.yml_dockerfile_作成例:centos8_mysql8.0 [2020/11/09 18:39] humolife [docker/db/conf.d/my.cnf] |
ソフトウェア:docker:docker-compose.yml_dockerfile_作成例:centos8_mysql8.0 [2020/11/10 16:34] humolife [コマンドの実行] |
||
---|---|---|---|
行 1: | 行 1: | ||
====== CentOS8 + MySQL8.0 の Docker Compose 作成例 ====== | ====== CentOS8 + MySQL8.0 の Docker Compose 作成例 ====== | ||
- | Laravel を載せる用の CentOS8 の app コンテナを作り、MySQL8.0 の db コンテナを作成する例。 | + | Laravel を載せる用の CentOS8 の app コンテナと、MySQL8.0 の db コンテナを作成する例。 |
===== ディレクトリ構成 ===== | ===== ディレクトリ構成 ===== | ||
< | < | ||
行 6: | 行 6: | ||
├ docker | ├ docker | ||
│ ├ app | │ ├ app | ||
+ | │ │ ├ conf | ||
+ | │ │ │ ├ html.conf | ||
+ | │ │ │ └ php74.ini | ||
+ | │ │ ├ conf.d | ||
+ | │ │ │ └ charset.cnf | ||
│ │ └ Dockerfile | │ │ └ Dockerfile | ||
│ ├ db | │ ├ db | ||
行 20: | 行 25: | ||
services: | services: | ||
db: | db: | ||
- | container_name: | + | container_name: |
build: ./db/ | build: ./db/ | ||
- | image: | + | image: |
environment: | environment: | ||
MYSQL_ROOT_PASSWORD: | MYSQL_ROOT_PASSWORD: | ||
行 32: | 行 37: | ||
- 3306:3306 | - 3306:3306 | ||
app: | app: | ||
- | container_name: | + | container_name: |
build: ./app/ | build: ./app/ | ||
- | image: | + | image: |
ports: | ports: | ||
- 8080:80 | - 8080:80 | ||
行 51: | 行 56: | ||
FROM centos:8 | FROM centos:8 | ||
- | RUN dnf -y update && \ | + | RUN export LC_ALL=C && \ |
+ | | ||
dnf -y install httpd && \ | dnf -y install httpd && \ | ||
dnf -y install epel-release && \ | dnf -y install epel-release && \ | ||
dnf -y install https:// | dnf -y install https:// | ||
- | | + | |
- | dnf module | + | dnf module -y install |
dnf -y install php-pdo php-json php-xml php-mysqlnd php-gd php-mbstring && \ | dnf -y install php-pdo php-json php-xml php-mysqlnd php-gd php-mbstring && \ | ||
- | dnf -y localinstall https://dev.mysql.com/ | + | dnf -y install @mysql:8.0 && \ |
- | dnf -y install | + | dnf -y install ibus-kkc && \ |
- | dnf -y install | + | dnf -y install |
+ | curl -sL https:// | ||
+ | dnf -y install | ||
- | RUN rm -rf / | + | ENV LANG ja_JP.UTF-8 |
+ | |||
+ | COPY ./ | ||
+ | COPY ./ | ||
+ | COPY ./ | ||
+ | |||
+ | RUN export LANG=ja_JP.utf8 && \ | ||
+ | chmod 644 / | ||
+ | mkdir / | ||
+ | chown apache: | ||
+ | | ||
ln -s / | ln -s / | ||
行 69: | 行 87: | ||
</ | </ | ||
+ | ===== docker/ | ||
+ | < | ||
+ | < | ||
+ | Options Indexes FollowSymLinks | ||
+ | AllowOverride All | ||
+ | Require all granted | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== docker/ | ||
+ | 対応バージョンの php.ini をどこかからコピーしてきて、設定したい内容に書き換えて設置 | ||
+ | |||
+ | ===== docker/ | ||
+ | < | ||
+ | [mysqld] | ||
+ | character-set-server = utf8mb4 | ||
+ | collation-server = utf8mb4_bin | ||
+ | init-connect=' | ||
+ | |||
+ | [client] | ||
+ | loose-default-character-set = utf8mb4 | ||
+ | </ | ||
===== docker/ | ===== docker/ | ||
行 75: | 行 115: | ||
RUN apt-get update && \ | RUN apt-get update && \ | ||
- | apt-get -y install locales-all | + | apt-get -y install locales-all |
+ | export LC_ALL=ja_JP.UTF-8 | ||
- | ENV LANG ja_JP.UTF-8 | + | ENV LANG ja_JP.UTF-8 |
- | LANGUAGE ja_JP:ja | + | |
COPY ./ | COPY ./ | ||
行 118: | 行 158: | ||
# app コンテナに入り作業をする | # app コンテナに入り作業をする | ||
- | docker container exec -it laravel_app_sample | + | docker container exec -it project_name_app |
# マウントした production に移動 | # マウントした production に移動 | ||
行 127: | 行 167: | ||
# db コンテナの DB に接続できるか確認 | # db コンテナの DB に接続できるか確認 | ||
- | mysql -h laravel_db_sample | + | mysql -h project_name_db |
</ | </ | ||
+ | これでローカルで Laravel を動かすための環境が整いました。\\ | ||
+ | 次は Laravel のインストールを行います。\\ | ||
+ | ⇒ [[プログラム言語: |