Dockerise Laravel / VueJS应用程序

时间:2018-03-02 09:48:14

标签: php laravel docker npm

我有一个lavelvel应用程序,我想要dockerise。

我见过几个教程,比如: https://medium.com/@pierangelo1982/dockerize-an-existing-laravel-application-with-docker-compose-a45eb7956cbd

https://kyleferg.com/laravel-development-with-docker/

https://medium.com/@shakyShane/laravel-docker-part-1-setup-for-development-e3daaefaf3c

https://www.codementor.io/patrickfohjnr/developing-laravel-applications-with-docker-4pwiwqmh4

这是我的开发人员Dockerfile:

FROM php:7.1.14-fpm

WORKDIR /app
COPY . /app

RUN apt-get update -y && apt-get install -y openssl zip unzip git npm \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng12-dev \
        libmagickwand-dev --no-install-recommends \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& docker-php-ext-install pdo pdo_mysql mbstring \
&& docker-php-ext-install zip \
&& docker-php-ext-install -j$(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& touch ./resources/assets/less/_main_full/main.less \
&& apt-get purge --auto-remove -y g++ \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& composer install && php artisan key:generate && php artisan migrate:fresh  --seed \
&& npm cache clean -f && npm install -g n && n stable && npm install cross-env && npm install && npm run dev

有一件事我不明白:

我应该在容器中安装所有依赖项(composer install + npm install)吗?对我来说似乎有必要,即使它让我成为一个1GB的图像,并且构建它很长,但很多教程都没有这样做。它怎么样?

注意:我不想使用laradock,因为我们的目标是学习和练习Docker。

1 个答案:

答案 0 :(得分:0)

在其中建立依赖关系没有意义。只需调用容器的命令行并运行依赖项设置

docker exec -it container_name bash