如何使用Dockerfile打包镜像部署laravel项目
现在有一个laravel项目,领导要求需要使用Dockerfile打包镜像进行部署,两眼一抹黑,看了很多Dockerfile相关的文章,好像跟所需要的相差甚远。
线上和本地均使用了docker(dnmp),线上的容器有mysql,php5,php7以及其他,本地除了上述几个,还有一个自己安装的php8容器,如果使用Dockerfile打包镜像,那么我的基础镜像是不是应该就是php8这个镜像:
# 基础镜像
FROM dnmp-php80
ARG LARAVEL_PATH=/data/www/xxx
# 拷贝代码到工作区(.表示我在当前项目目录下)
COPY . ${LARAVEL_PATH}
#执行相关操作
RUN cd ${LARAVEL_PATH} \
&& composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \
&& composer install \
--ignore-platform-reqs \
--no-interaction \
--no-plugins \
--no-scripts \
--prefer-dist
&& cp env.sample .env
&& php artisan key:generate
&& php artisan migrate \
&& mkdir -p storage \
&& mkdir -p storage/framework/cache \
&& mkdir -p storage/framework/sessions \
&& mkdir -p storage/framework/testing \
&& mkdir -p storage/framework/views \
&& mkdir -p storage/logs \
&& chmod -R 777 storage
请问一下,这样的打包镜像部署项目是否正确,缺少什么东西,如何优化?在此先感谢了!
好了,在同事的帮助下搞定了,但是线上用的是k8s。。
推荐文章: