Php 使用docker启动web服务器环境

Php 使用docker启动web服务器环境,php,amazon-web-services,docker,nginx,apache2,Php,Amazon Web Services,Docker,Nginx,Apache2,我是docker的新手,我想知道如何与docker建立一个web服务器环境 我需要的是: PHP HTTPD,NGINX 我已经在Debian 9.4上安装了docker,现在我可以运行docker命令了 我已经发布了docker pull php和docker pull nginx 实际上,我有一个运行在lamp服务器(Debian7)上的应用程序 我所有的应用程序都在/var/www/application 如何为我的项目创建docker容器?(NGINX,PHP) 我需要dockercom

我是docker的新手,我想知道如何与docker建立一个web服务器环境

我需要的是:

PHP HTTPD,NGINX

我已经在Debian 9.4上安装了docker,现在我可以运行docker命令了

我已经发布了
docker pull php
docker pull nginx

实际上,我有一个运行在lamp服务器(Debian7)上的应用程序 我所有的应用程序都在
/var/www/application

如何为我的项目创建docker容器?(NGINX,PHP)

我需要dockercompose文件吗?如何根据我的需要编写它?
我需要dockerfile吗?如何写它满足我的需要

你能给我引路吗

提前感谢社区

将来我想在AWS Elasticbeanstalk上导出我的应用程序。
我将使用的数据库存储在AWS云(Amazon RDS)上,所以我不需要数据库容器。

我建议使用docker compose。这是一个示例LEMP:

docker compose.yml

web:
  image: nginx:latest
  ports:
    - "8080:80"
  volumes:
    - ./your_project:/your_project
    - ./nginx.conf:/etc/nginx/conf.d/default.conf
  links:
    - php

php:
  build: .
  volumes: 
    - ./your_project:/your_project
  links:
    - mysql

mysql:
  image: mysql:latest
  ports:
    - "3306:3306"
  environment: 
    - MYSQL_ROOT_PASSWORD=password
Dockerfile

FROM php:fpm

RUN apt-get update

RUN docker-php-ext-install mysql mysqli

RUN echo "localhost localhost.localdomain" >> /etc/hosts
nginx.conf

server {
    index index.php index.html;
    server_name your.domain;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /your_project;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

你应该看看互联网上的docker文件和docker compose文件,我这个月开始使用docker,我已经学到了很多东西——docker hub是你的朋友,你也可以看看这个存储库:你提到了HTTPD(apache)和NginX。如果你不介意的话,我这里有一个预先配置好的灯组。只需将文件放入项目中,
docker machine start
eval$(docker machine env)
,以及
docker compose up
,您就可以开始摇滚了!还安装了XDebug和mailhog