由于想要构建AWS CodeBuild Laravel 9,因此需要创建Docker镜像

由于想要构建AWS CodeBuild Laravel 9,所以需要创建一个docker镜像。

动机

在AWS CodeBuild可使用的官方映像中,没有与Laravel 9所需的PHP版本相匹配的选项。

在Laravel 9中,需要8.0.2或更高版本,因此我自己准备了Docker镜像。

Dockerfile 原生地以中文进行改写。只需要一个选项:

镜像文件

# ベースイメージは、AmazonLinux2
FROM amazonlinux:2

# remiがepelを求めるのでインストール
RUN amazon-linux-extras install epel

# remiリポジトリをインストール
RUN yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

# nodejsのインストール作業に必要なコマンドをインストール
RUN yum install -y curl sudo

# nodejsのセットアップファイルをダウンロードして実行(nodejsのリポジトリを追加)
RUN curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

# nodejsをインストール
RUN yum install -y --enablerepo=nodesource nodejs

# インストール済みのPHPを全て削除
RUN yum remove php*

# PHP80と拡張モジュールをインストール
RUN yum install -y --enablerepo=epel,remi,remi-php80 php80 php80-php-mbstring php80-php-mysqlnd php80-php-gd php80-php-xml php80-php-fpm php80-php-pecl-zip

# php80にパスを通す
RUN alternatives --install /usr/bin/php php /usr/bin/php80 1

# composerをインストール
# https://getcomposer.org/download/を確認して適宜変更する
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN php composer-setup.php
RUN php -r "unlink('composer-setup.php');"
RUN mv composer.phar /usr/local/bin/composer

# composerにパスを通す
RUN echo "export PATH=~/.config/composer/vendor/bin:$PATH" >> ~/.bash_profile

只需将其推送到ECR,并从CodeBild中使用即可。

广告
将在 10 秒后关闭
bannerAds