yamadayeah90
@yamadayeah90

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Docker + Laravel9 + Vue3のDockerファイルでの環境構築

解決したいこと

Dockerでの下記環境構築をDockerfileのみで構築したいです。

Laravel9
Vue3
{
"@vitejs/plugin-vue": "^4.5.0",
"chart.js": "^4.4.0",
"chartjs-plugin-datalabels": "^2.2.0",
"file-saver": "^2.0.5",
"npm": "^10.2.4",
"vue": "^3.3.8",
"vue-chartjs": "^5.2.0",
"vue-router": "^4.2.5"
}

上記環境をDockerfileにて環境構築することは可能でしょうか
過去にRender.comというサイトにLaravel8にて作成したプロジェクトをDockerにてデプロイするにあたってDockerfileにて実行しました。
その時と同じようにDockerfileに記載するのみでデプロイ、起動を行う方法、参考にできるサイト等ありました教えていただけると幸いです・

※以前利用したDockerfileは下記に記載いたします。

発生している問題

現在検索を行っているのですが、Dockerfileにて環境構築を行う手順がなく苦戦しています。

以前利用したDockerfile

# ベースとなるイメージを指定
FROM php:8-alpine

# 作業ディレクトリを指定
WORKDIR /app

# 必要なパッケージをインストール
RUN apk update && apk add --no-cache libzip-dev zip
RUN docker-php-ext-install pdo_mysql zip

# Composerをインストール
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# LaravelプロジェクトをコピーしてComposerパッケージをインストール
COPY . /app
RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader

# ポートを公開
EXPOSE 80

# エントリーポイントを指定
ENTRYPOINT ["php", "artisan", "serve", "--host=0.0.0.0", "--port=80"]
0

1Answer

何故、Dockerfileのみに拘るのでしょうか?

Dockerfileのみでもできるとおもいますが?
ENVにてpathが欲しいところです。
また、php:8-alpineがLaravel9に対応しているか?ビルドしないとわかりません。php8.1以降、現在はphp8.3推奨では?

ENTRYPOINTでなく、CMD起動のサンプルです 

意識して欲しい点は、docker のコマンドを全てDockerfileで賄えない点です。

個人的にはDockerfileにはビルド関連、docker-compose.ymlには実行関連の併用記述を推奨します。

FROM php:8-alpine
WORKDIR /app
ENTRYPOINT ["sh"]

にてDockerコンテナ内でapkコマンドの手入力にて構築してみては?成功したらRUN記述しましょう。

Composerをインストール の箇所
はLaravel8のモジュールなのでcopyを使わないビルド記述にしましょう。

0Like

Your answer might help someone💌