若有不正确的,还请各位网友评论指正😄。
项目文件夹目录结构
├──项目组
│├──api
│├──web
│├──docker
││├──node23
│││└──DockerFile
││├──php83
│││└──DockerFile
│└──env
│└──docker-compose.yml
lnpm项目
- 使用的是mac系统。
- docker镜像源各种和谐,使用前记得先配置好镜像源。
- 使用php8.3跑webman二开后端,node23跑vue前端,后端连redis和mysql,因为有测试用的远程服务器,里面有安装mysql和redis,就没有使用容器在本地跑了。
- 本文章是我自己项目的实践(之前用过后来又忘了哈哈🤦♂️)只针对开发阶段。
- api文件夹是webman项目。
- web文件夹是vue项目。
- 多谢帮助过我的群友和网友。
- 属于入门教程(不单独介绍docker run等基础,想了解的朋友可以去看官网教程或看我的另外一篇文章链接: docker 的个人理解与使用)。
php容器
使用的是webman框架,,ARG api_expose是传入的参数,看个人情况可以不使用,DockerFile代码如下。
FROM php:8.3-fpm-alpine
ARG api_expose
# 设置时区
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 设置软件源,将默认的配置都注释掉
RUN sed -i 's#https\?://dl-cdn.alpinelinux.org/alpine#https://mirrors.tuna.tsinghua.edu.cn/alpine#g' /etc/apk/repositories
# 更新 Debian
RUN apk update&&apk add autoconf gcc musl-dev freetype-dev jpeg-dev libpng-dev make
# 安装php扩展 pecl install安装后需要启用,docker-php-ext-install安装后自动启用,只是区别一下而已
RUN pecl install redis \
&& docker-php-ext-enable redis \
&& pecl install igbinary lzf zstd \
&& docker-php-ext-enable igbinary lzf zstd \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install pdo pdo_mysql \
&& d