composer自体はサクっと入る
Dockerfile
FROM php:7.3-fpm COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
ライブラリ を入れる
$ docker image build . $ docker container run -d <imageID> $ docker exec -it <containerID> bash
$ composer require <package>
とするとGitHubのpersonal tokenを聞かれた後、こんなエラーが出る。
[RuntimeException] Failed to clone https://github.com/php-fig/http-message.git, git was not found, check that it is installed and in your PATH env. sh: 1: git: not found
git コマンドがないって読めるんだけど、zipファイルが解凍できないのが原因みたい。
Docker php:7.3-fpmにcomposer入れて、ライブラリインストールしてるんだけど、GitHubのパーソナルトークン聞かれて入力してもそもそもgitが入ってなくて地獄
— Fumiya Ichikawa (@LET__IT__RIDE) March 28, 2020
PHP Pecl zipを入れよう
Dockerコンテナ内で実行するも...
$ docker-php-ext-install zip
お次はこんなエラー.
configure: error: Please reinstall the libzip distribution The command '/bin/sh -c docker-php-ext-install zip' returned a non-zero code: 1
ひええ。
libzip-devを入れよう
Dockerコンテナ内で、
$ apt-get install -y libzip-dev
これで、composer require
まで完了できた。
Dockerfileは以下のような感じ。
FROM php:7.3-fpm RUN apt-get update \ && apt-get install -y libzip-dev COPY --from=composer:latest /usr/bin/composer /usr/bin/composer RUN docker-php-ext-install zip COPY composer.json /var/www/html WORKDIR /var/www/html RUN composer install
これでセットアップできた。
— Fumiya Ichikawa (@LET__IT__RIDE) March 28, 2020
FROM php:7.3-fpm
RUN apt-get update \
&& apt-get install -y libzip-dev
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
RUN docker-php-ext-install zip
COPY composer.json /var/www/html
WORKDIR /var/www/html
RUN composer install