このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
ソフトウェア:docker:docker-compose.yml_dockerfile_作成例:centos8_mysql8.0 [2020/11/09 18:38] humolife [docker/db/Dockerfile] |
ソフトウェア: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 | ||
| - | │ │ ├ htdocs | + | │ │ ├ conf |
| - | │ │ │ └ .htaccess | + | │ │ │ ├ html.conf |
| + | │ │ │ └ php74.ini | ||
| + | │ │ ├ conf.d | ||
| + | │ │ │ └ charset.cnf | ||
| │ │ └ Dockerfile | │ │ └ Dockerfile | ||
| │ ├ db | │ ├ db | ||
| │ │ ├ conf.d | │ │ ├ conf.d | ||
| - | │ │ │ └ my.cnf | + | │ │ │ └ charset.cnf |
| │ │ └ Dockerfile | │ │ └ Dockerfile | ||
| │ └ docker-compose.yml | │ └ docker-compose.yml | ||
| 行 22: | 行 25: | ||
| services: | services: | ||
| db: | db: | ||
| - | container_name: | + | container_name: |
| build: ./db/ | build: ./db/ | ||
| - | image: | + | image: |
| environment: | environment: | ||
| MYSQL_ROOT_PASSWORD: | MYSQL_ROOT_PASSWORD: | ||
| 行 34: | 行 37: | ||
| - 3306:3306 | - 3306:3306 | ||
| app: | app: | ||
| - | container_name: | + | container_name: |
| build: ./app/ | build: ./app/ | ||
| - | image: | + | image: |
| ports: | ports: | ||
| - 8080:80 | - 8080:80 | ||
| 行 53: | 行 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 / | ||
| 行 71: | 行 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/ | ||
| 行 77: | 行 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 ./ | ||
| </ | </ | ||
| - | ===== docker/ | + | ===== docker/ |
| < | < | ||
| [mysqld] | [mysqld] | ||
| - | # Character code setting / collation order setting | + | character-set-server |
| - | character_set_server=utf8mb4 | + | collation-server = utf8mb4_bin |
| - | collation-server=utf8mb4_bin | + | init-connect=' |
| - | default_authentication_plugin= mysql_native_password | + | [client] |
| - | + | loose-default-character-set = utf8mb4 | |
| - | [mysql] | + | |
| - | default-character-set=utf8mb4 | + | |
| </ | </ | ||
| 行 122: | 行 158: | ||
| # app コンテナに入り作業をする | # app コンテナに入り作業をする | ||
| - | docker container exec -it laravel_app_sample | + | docker container exec -it project_name_app |
| # マウントした production に移動 | # マウントした production に移動 | ||
| 行 131: | 行 167: | ||
| # db コンテナの DB に接続できるか確認 | # db コンテナの DB に接続できるか確認 | ||
| - | mysql -h laravel_db_sample | + | mysql -h project_name_db |
| </ | </ | ||
| + | これでローカルで Laravel を動かすための環境が整いました。\\ | ||
| + | 次は Laravel のインストールを行います。\\ | ||
| + | ⇒ [[プログラム言語: | ||