1.安装docker docker-compose
sudo yum -y install docker
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2. 构建容器文件
vi php-compose.yml
version: "3"
services:
nginx:
image: nginx:latest
restart: always
container_name: php-nginx
volumes:
- ./code:/code
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/log:/var/log/nginx
ports:
- "9980:80"
depends_on:
- php
networks:
docker_composer_net:
aliases:
- nginx
php:
image: php:7.2-fpm
restart: always
ports:
- "9000:9000"
container_name: php
volumes:
- ./code:/code
networks:
docker_composer_net:
aliases:
- php
networks:
docker_composer_net:
3. nginx配置
mkdir nginx
cd nginx
mkdir conf.d
mkdir log
cd conf.d
vi php.conf
server {
listen 80;
index index.php index.html;
server_name localhost;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /code/public;
index index.php index.html index.htm default.php default.htm default.html;
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
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;
}
}
4. php测试文件
cd ../../
mkdir code
cd code
vi index.php
<?php
phpinfo();
5. 运行容器
cd ../../
docker-compose -f php-compose.yml up -d
6. 访问验证
浏览器访问url:
http://ip:9980