zukucode
主にWEB関連の情報を技術メモとして発信しています。

Docker LaravelのコンテナでNode.jsやyarnを導入する

Dockerで作成したLaravelのコンテナにNode.jsyarnを導入してVue.jsなどのフロント側の開発環境ができるようにします。

Docker Laravelをインストールするまででnginx, php, mysql, phpmyadminのコンテナを作成し、Laravelの環境のコンテナを作成しました。

このLaravelのコンテナにNode.jsyarnを導入します。。

Dockerfileの修正

DockerfileNode.jsyarnをインストールするコマンドを追加します。

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.jsyarnがインストールされていることを確認できます。


関連記事