docker-compose 安装nginx+php+mysql环境

首先安装docker-compose工具,该工具没有在docker安装包中,需要单独安装,compose是启动管理多个容器应用的便捷工具。可以参考官方,看看工具使用教程。

PHP的镜像可以使用官方预留的几个镜像,也可以自己制作镜像,这里我使用的是自己制作的镜像,已经推到hub上,欢迎使用。制作过程,在文章PHP镜像制作

docker-compose.yml文件如下:

version: "3"
services:
    php:
        image: linlong/php7.3.4-fpm
        networks:
                - frontend
        deploy:
                replicas: 1
        restart: always
        volumes:
                - ./php/php-fpm.conf:/usr/local/etc/php-fpm.conf
                - ./php/php-fpm.d:/usr/local/etc/php-fpm.d
                - ./php/php:/usr/local/etc/php
                - ./nginx/html:/usr/share/nginx/html
        depends_on:
                - mysql
        container_name: "php"
    mysql:
        image: mysql:5.7
        networks:
                - frontend
        deploy:
               replicas: 1
        restart: always
        volumes:
                - ./mysql/conf:/etc/mysql
                - ./mysql/logs:/var/log/mysql
                - ./mysql/data:/var/lib/mysql
        environment:
                MYSQL_ROOT_PASSWORD: "linlong"
        container_name: "mysql"
    nginx:
        image: nginx:latest
        ports:
                - "81:80"
        depends_on:
                - php
        volumes:       
                - ./nginx/conf.d:/etc/nginx/conf.d
                - ./nginx/nginx.conf:/etc/nginx/nginx.conf
                - ./nginx/html:/usr/share/nginx/html
        networks:
                - frontend
        restart: always
        container_name: "nginx"
networks:
        frontend:

需要注意的部分是,volumes配置,我开始单独docker run 各软件,从nginx容器,PHP容器中找到配置文件和一些目录,并使用docker cp拷贝到宿主机中,然后在通过volumes挂载。此外,新增了一个networks用于容器之间进行连接,比如在nginx.conf中的配置PHP,由原有的127.0.0.1:9000替换为php:9000即可访问。PHP和MySQL并没有作端口映射,只做了Nginx80端口与宿主机81端口映射,可以替换为宿主机的80。

配置完成后,docker-compose up -d即可,注意该命令在当前目录寻找docker-compose.yml配置文件进行解析。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值