写一个dockerfile,将PHP7.3镜像和nginx镜像组合在一起,
时间: 2023-04-06 14:00:31 浏览: 114
好的,我可以回答这个问题。以下是一个示例 Dockerfile,可以将 PHP 7.3 和 Nginx 镜像组合在一起:
```
FROM php:7.3-fpm
RUN apt-get update && apt-get install -y nginx
COPY nginx.conf /etc/nginx/nginx.conf
COPY index.php /var/www/html/index.php
EXPOSE 80
CMD service nginx start && php-fpm
```
这个 Dockerfile 首先从官方 PHP 7.3-fpm 镜像开始构建,然后安装 Nginx 并将其配置文件和 PHP 文件复制到相应的位置。最后,它将端口 80 暴露出来,并启动 Nginx 和 PHP-FPM 服务。
请注意,这只是一个示例 Dockerfile,您可能需要根据您的具体需求进行修改。
相关问题
php7.3的docker镜像如何安装nginx
您可以通过以下命令安装php7.3和nginx的docker镜像:
1. 首先,从Docker Hub上拉取php7.3镜像:
docker pull php:7.3-fpm
2. 接着,从Docker Hub上拉取nginx镜像:
docker pull nginx
3. 创建一个Dockerfile文件,将php和nginx镜像组合在一起:
FROM php:7.3-fpm
RUN apt-get update && apt-get install -y nginx
CMD ["nginx", "-g", "daemon off;"]
4. 构建Docker镜像:
docker build -t php-nginx .
5. 运行Docker容器:
docker run -p 80:80 php-nginx
这样,您就可以在本地访问nginx服务器了。
部署php service 镜像使用php:7.3.27-fpm,service名称为php,映射端口9000,网络为lnmp,副本数为3将主机/lnmp/php/conf/映射到容器/usr/local/etc/,将主机/lnmp/nginx/html/映射到容器/usr/share/nginx/html/
可以使用以下命令来启动该服务:
```
docker service create --name php --replicas 3 --network lnmp \
-p 9000:9000 \
-v /lnmp/php/conf/:/usr/local/etc/ \
-v /lnmp/nginx/html/:/usr/share/nginx/html/ \
php:7.3.27-fpm
```
解释一下各个参数的含义:
- `--name php`: 指定服务名称为 php。
- `--replicas 3`: 启动 3 个容器实例。
- `--network lnmp`: 将该服务加入 lnmp 网络。
- `-p 9000:9000`: 将主机的 9000 端口映射到容器的 9000 端口。
- `-v /lnmp/php/conf/:/usr/local/etc/`: 将主机的 /lnmp/php/conf/ 目录映射到容器的 /usr/local/etc/ 目录。
- `-v /lnmp/nginx/html/:/usr/share/nginx/html/`: 将主机的 /lnmp/nginx/html/ 目录映射到容器的 /usr/share/nginx/html/ 目录。
- `php:7.3.27-fpm`: 使用 php:7.3.27-fpm 镜像启动容器。
这样就可以启动一个名为 php 的服务,并且在 lnmp 网络中,使用 3 个容器实例,同时将主机的 /lnmp/php/conf/ 目录映射到容器的 /usr/local/etc/ 目录,并将主机的 /lnmp/nginx/html/ 目录映射到容器的 /usr/share/nginx/html/ 目录。
阅读全文