在上一篇文章中,手动操作多个容器运行nginx+php非常麻烦。我应该怎么办?DockerCompose保持并删除上一章创建的容器和网络。否则,完成本章后会出现冲突。dockerstopnginxdockerstopfpmdockernetworkrmlnmp首先将上一节手动运行的nginx容器命令作为编写docker-compose的方式。yml文件参考:dockerrun-d--networklnmp--ip192.169.0.3--linkfpm:php--namenginx--rm-p80:80-v~/www:/usr/share/nginx/html-v~/nginx.conf:/etc/nginx/nginx.confnginx:1.15.0-alpine继续编辑上一章版本创建的mycompose/docker-compose.yml文件:"3"services:fpm:container_name:fpm图像:“php:7.1-fpm-alpine3.8”卷:-~/www:/php网络:灯:ipv4_address:192.158.0.2httpd:container_name:httpd图像:“httpd:2.4-alpine”端口:-8080:80个链接:-fpm:php卷:-~/www:/usr/local/apache2/htdocs-~/httpd.conf:/usr/local/apache2/conf/httpd.conf网络:灯:ipv4_address:192.158.0.3nginx:容器名称:nginx图片:“nginx:1.15.0-alpine”端口:-8081:80链接:-fpm:php卷:-~/www:/usr/share/nginx/html-~/nginx.conf:/etc/nginx/nginx.confnetworks:lamp:ipv4_address:192.158.0.4networks:lamp:driver:bridgeipam:config:-subnet:192.158.0.0/16docker-compose启动项目docker-composeup-d查看启动状态docker-composeps/**Name命令状态端口-----------------------------------------------------------------fpmdocker-php-entrypointphp-fpmUp9000/tcphttpdhttpd-foregroundUp0.0.0.0:8080->80/tcpnginxnginx-g守护进程关闭;up0.0.0.0:8081->80/tcp*/我们可以看到启动了三个容器,首先访问apachehttp://serverip:8080/index映射的8080端口。然后PHP访问nginx映射的8081端口http://serverip:8081/index.phpok!完全的
