以下是一个包含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
来查看你的应用程序了。