Macでlaravel,vue.js,dockerを使用してローカルでWEBアプリを制作しました。次の段階としてAWSを使用したい場合どうしたらいいのかについて調べていたのですが、元のdockerを変更する必要があるのかについてがわからないでいます。元のdockerを変更する必要がありますでしょうか?
追記////////////////////////////////////
自分がイメージしている目標としては大体
https://qiita.com/ryamate/items/c3b4f63f8d94ab090bf8
の以下の写真のように『CercleCIの部分以外の部分』を実装したいと考えております。
主にEC2やRDSを利用して本番として使って行きたいのですがECSやファーゲートなどについては(あまり詳しくはないのですが)難易度が上がるのでこの辺に関しては考えておりません。
この場合現在のローカルで動かしていたdockerを変更する必要があるのかどうかを教えていただけると助かります
////////////////////////////////////
現在のWEBアプリのdockerについてですが
絶対に失敗しないDockerでLaravel+Vueの実行環境(LEMP環境)を構築する方法
https://qiita.com/shimotaroo/items/29f7878b01ee4b99b951#8docker-composeyml%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B
を参考に制作しました。
コードの方は下のようになっています。
コード docker-laravel-vue ├─ docker │ ├─ php │ │ └─ Dockerfile │ │ └─ php.ini │ ├─ nginx │ │ └─ Dockerfile │ │ └─ default.conf │ └─ mysql │ └─ Dockerfile │ └─ my.cnf │─ .env │─ .gitignore └─ docker-compose.yml
dockercompose.yml
1コード 2version: '3.8' 3 4volumes: 5 mysql-volume: 6 7services: 8 app: 9 build: 10 context: . 11 dockerfile: ./docker/php/Dockerfile 12 volumes: 13 - ./src/:/var/www/html 14 environment: 15 - DB_CONNECTION=mysql 16 - DB_HOST=db 17 - DB_PORT=3306 18 - DB_DATABASE=${DB_NAME} 19 - DB_USERNAME=${DB_USER} 20 - DB_PASSWORD=${DB_PASSWORD} 21 22 web: 23 build: 24 context: . 25 dockerfile: ./docker/nginx/Dockerfile 26 ports: 27 - ${WEB_PORT}:80 28 depends_on: 29 - app 30 volumes: 31 - ./src/:/var/www/html 32 33 db: 34 build: 35 context: . 36 dockerfile: ./docker/mysql/Dockerfile 37 ports: 38 - ${DB_PORT}:3306 39 environment: 40 MYSQL_DATABASE: ${DB_NAME} 41 MYSQL_USER: ${DB_USER} 42 MYSQL_PASSWORD: ${DB_PASSWORD} 43 MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} 44 TZ: 'Asia/Tokyo' 45 volumes: 46 - mysql-volume:/var/lib/mysql
php/Dockerfile
1FROM php:7.4.1-fpm 2 3# COPY php.ini 4COPY ./docker/php/php.ini /usr/local/etc/php/php.ini 5 6# Composer install 7COPY --from=composer:2.0 /usr/bin/composer /usr/bin/composer 8 9# install Node.js 10COPY --from=node:10.22 /usr/local/bin /usr/local/bin 11COPY --from=node:10.22 /usr/local/lib /usr/local/lib 12 13RUN apt-get update && \ 14 apt-get -y install \ 15 git \ 16 zip \ 17 unzip \ 18 vim \ 19 && docker-php-ext-install pdo_mysql bcmath 20 21WORKDIR /var/www/html
php.ini
1[Date] 2date.timezone = "Asia/Tokyo" 3[mbstring] 4mbstring.internal_encoding = "UTF-8" 5mbstring.language = "Japanese"
Docker/nginx/Dockerfile
1コード 2FROM nginx:1.18-alpine 3 4ENV TZ=UTC 5 6# nginx config file 7COPY ./docker/nginx/*.conf /etc/nginx/conf.d/ 8 9WORKDIR /var/www/html
default.conf
1server { 2 listen 80; 3 4 root /var/www/html/public; 5 6 access_log /var/log/nginx/access.log; 7 error_log /var/log/nginx/error.log; 8 9 add_header X-Frame-Options "SAMEORIGIN"; 10 add_header X-XSS-Protection "1; mode=block"; 11 add_header X-Content-Type-Options "nosniff"; 12 13 index index.php index.html index.htm; 14 15 charset utf-8; 16 17 location / { 18 try_files $uri $uri/ /index.php?$query_string; 19 } 20 21 location = /favicon.ico { access_log off; log_not_found off; } 22 location = /robots.txt { access_log off; log_not_found off; } 23 24 error_page 404 /index.php; 25 26 location ~ \.php$ { 27 fastcgi_pass app:9000; 28 fastcgi_index index.php; 29 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 30 include fastcgi_params; 31 } 32 33 location ~ /\.(?!well-known).* { 34 deny all; 35 } 36}
mysql/Dockerfile
1FROM mysql:8.0 2 3ENV TZ=UTC 4 5COPY ./docker/mysql/my.cnf /etc/my.cnf
my.cnf
1[mysqld] 2user=mysql 3character_set_server = utf8mb4 4collation_server = utf8mb4_0900_ai_ci 5 6# timezone 7default-time-zone = SYSTEM 8log_timestamps = SYSTEM 9 10# Error Log 11log-error = mysql-error.log 12 13# Slow Query Log 14slow_query_log = 1 15slow_query_log_file = mysql-slow.log 16long_query_time = 1.0 17log_queries_not_using_indexes = 0 18 19# General Log 20general_log = 1 21general_log_file = mysql-general.log 22 23[mysql] 24default-character-set = utf8mb4 25 26[client] 27default-character-set = utf8mb4
仮に元のdockerを変更する必要がある場合は
https://qiita.com/kohei-katashima/items/b67475e1e352ff134b61
のように作業していくような流れになるのではと考えています。
よろしくお願いします🙇♂️

回答1件
あなたの回答
tips
プレビュー