#前提
https://qiita.com/ucan-lab/items/56c9dc3cf2e6762672f4
この記事をもとにdocker+laravel +nginx+Mysql
の環境を構築。
ディレクトリ構造
├── README.md (この名前にするとGitHubで見た時にHTMLに変換して表示してくれる)
├── infra (*1)
│ ├── mysql (*1)
│ │ ├── Dockerfile
│ │ └── my.cnf (*1)
│ ├── nginx (*1)
│ │ └── default.conf (*1)
│ └── php (*1)
│ ├── Dockerfile (この名前にするとファイル名の指定を省略できる)
│ └── php.ini (*1)
├── docker-compose.yml (この名前にするとファイル名の指定を省略できる)
└── backend (*1)
└── Laravelをインストールするディレクトリ
コンテナの構造
###appコンテナ
このコンテナで、phpやlaravelをインストールしてる
webコンテナ
このコンテナで、nginxをインストールしてる
dbコンテナ
このコンテナで、MYSQLをインストールしてる
#node npmインストール方法
php/Dockerfileを編集
FROM php:7.4-fpm-buster
SHELL ["/bin/bash", "-oeux", "pipefail", "-c"]
ENV COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/composer
COPY --from=composer:1.10 /usr/bin/composer /usr/bin/composer
RUN apt-get update && \
apt-get -y install git unzip libzip-dev libicu-dev libonig-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
docker-php-ext-install intl pdo_mysql zip bcmath
// 以下を追加{{ここから}}
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs
// {{ここまで}}
COPY ./php.ini /usr/local/etc/php/php.ini
WORKDIR /work
Dockerfileを変更したら以下のコマンドでビルドを行う
$docker-composer app build
##以下のコマンドでコンテナを起動し、appコンテナ内に入る
$ docker-composer up -d
$ docker-composer exec bash app
appコンテナ内でnode -vコマンドなどを実行して、Node.jsやyarnがインストールされていることを確認できれば、npmコマンド
の使用が可能になります!!