Docker LaravelのコンテナでNode.jsやyarnを導入する
Docker
で作成したLaravel
のコンテナにNode.js
とyarn
を導入してVue.js
などのフロント側の開発環境ができるようにします。
Docker Laravelをインストールするまででnginx
, php
, mysql
, phpmyadmin
のコンテナを作成し、Laravel
の環境のコンテナを作成しました。
このLaravel
のコンテナにNode.js
とyarn
を導入します。。
Dockerfileの修正
Dockerfile
にNode.js
とyarn
をインストールするコマンドを追加します。
DockerFile
FROM php:7-fpm
# ユーザーを作成
ARG UID=1000
ARG GID=1000
RUN useradd -m -u ${UID} docker
# composerをインストール
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Node.jsをインストール
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs
# yarnをインストール
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/+sources.list.d/yarn.list
RUN apt-get update && apt-get install yarn
# Laravelに必要なパッケージをインストール
RUN apt-get update && apt-get install -y git zip unzip
RUN apt-get update \
&& docker-php-ext-install pdo_mysql
# 作成したユーザーに切り替える
USER ${UID}:${GID}
# 作業ディレクトリを変更
WORKDIR /var/www/html
確認
Dockerfile
を変更したら以下のコマンドでビルドを行います。
$ docker-composer app build
以下のコマンドでコンテナを起動し、app
コンテナ内に入ります。
$ docker-composer up -d
$ docker-composer exec bash app
app
コンテナ内でnode -v
コマンドなどを実行して、Node.js
やyarn
がインストールされていることを確認できます。