我是docker的新手,我想知道如何使用docker建立Web服务器环境。
我需要什么:
PHP HTTPD,NGINX
我在Debian 9.4上安装了docker,我现在能够运行docker命令。
我已发布docker pull php
和docker pull nginx
。
我实际上在灯服务器(Debian 7)上运行了一个应用程序
我的所有申请都在/var/www/application
如何为我的项目创建docker容器? (NGINX,PHP)
我需要dockercompose文件吗?如何根据我的需要编写它? 我需要一个dockerfile吗?如何根据我的需要编写它?
请你指点一下;)
先感谢社区。 p>
将来我想在AWS Elasticbeanstalk上导出我的应用程序。 我将使用的数据库存储在AWS云(Amazon RDS)上,因此我不需要数据库容器。
答案 0 :(得分:1)
我的建议是使用docker-compose。这是一个样本LEMP:
<强>搬运工-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;
}
}