上一篇的手工操做多容器運行nginx+php,很麻煩,該怎麼辦?Docker Compose 跟上
先刪掉上篇建立的容器和網絡,如若否則,完成本章會產生衝突php
docker stop nginx docker stop fpm docker network rm lnmp
先將上節手工運行的nginx容器命令拿過來做爲編寫docker-compose.yml文件的參考:html
docker run -d --network lnmp --ip 192.169.0.3 --link fpm:php --name nginx --rm -p 80:80 -v ~/www:/usr/share/nginx/html -v ~/nginx.conf:/etc/nginx/nginx.conf nginx:1.15.0-alpine
繼續編輯前面章節建立的 mycompose/docker-compose.yml文件nginx
version: "3" services: fpm: container_name: fpm image: "php:7.1-fpm-alpine3.8" volumes: - ~/www:/php networks: lamp: ipv4_address: 192.158.0.2 httpd: container_name: httpd image: "httpd:2.4-alpine" ports: - 8080:80 links: - fpm:php volumes: - ~/www:/usr/local/apache2/htdocs - ~/httpd.conf:/usr/local/apache2/conf/httpd.conf networks: lamp: ipv4_address: 192.158.0.3 nginx: container_name: nginx image: "nginx:1.15.0-alpine" ports: - 8081:80 links: - fpm:php volumes: - ~/www:/usr/share/nginx/html - ~/nginx.conf:/etc/nginx/nginx.conf networks: lamp: ipv4_address: 192.158.0.4 networks: lamp: driver: bridge ipam: config: - subnet: 192.158.0.0/16
docker-compose啓動項目docker
docker-compose up -d
查看啓動狀態apache
docker-compose ps /** Name Command State Ports -------------------------------------------------------------------- fpm docker-php-entrypoint php-fpm Up 9000/tcp httpd httpd-foreground Up 0.0.0.0:8080->80/tcp nginx nginx -g daemon off; Up 0.0.0.0:8081->80/tcp */
咱們能夠看到啓動了三個容器服務器
先訪問apache映射的8080端口網絡
http://服務器ip:8080/index.php
再訪問nginx映射的8081端口tcp
http://服務器ip:8081/index.php
ok! php-fpm
完工code