以下是一个包含nginx,mysql,php7和slimphp的Dockerfile示例:
# 使用基础镜像
FROM ubuntu:latest
# 安装必要的软件包
RUN apt-get update && apt-get install -y \
nginx \
mysql-server \
php7.0 \
php7.0-fpm \
php7.0-mysql \
php7.0-mbstring \
php7.0-xml \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# 配置nginx
COPY nginx.conf /etc/nginx/nginx.conf
# 配置php-fpm
COPY php-fpm.conf /etc/php/7.0/fpm/php-fpm.conf
# 配置php.ini
COPY php.ini /etc/php/7.0/fpm/php.ini
# 配置mysql
COPY my.cnf /etc/mysql/my.cnf
# 暴露nginx端口
EXPOSE 80
# 启动服务
CMD service mysql start && service php7.0-fpm start && nginx -g 'daemon off;'
在上面的示例中,Dockerfile首先使用FROM指令选择了一个基础镜像,这里选择了ubuntu:latest作为基础镜像。
接下来使用RUN指令安装了nginx,mysql,php7和slimphp所需的软件包。
然后使用COPY指令将配置文件复制到相应的目录。
最后使用EXPOSE指令暴露nginx的80端口,并使用CMD指令启动mysql服务、php-fpm服务和nginx服务。
你需要将nginx的配置文件nginx.conf,php-fpm的配置文件php-fpm.conf,php.ini文件php.ini和mysql的配置文件my.cnf放在Dockerfile同一目录下。
接下来,使用以下命令构建Docker镜像:
docker build -t myapp .
然后可以运行这个镜像:
docker run -d -p 80:80 myapp
现在,你就可以访问http://localhost来查看你的应用程序了。