我有一个lavelvel应用程序,我想要dockerise。
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。
答案 0 :(得分:0)
在其中建立依赖关系没有意义。只需调用容器的命令行并运行依赖项设置
docker exec -it container_name bash