您的位置 首页 Nginx

使用docker在CentOs上设置PHP-FPM,Nginx,Mariadb

我正试图从使用VirtualBox作为我的开发环境转向docker.

使用VirtualBox,我主要安装PHP-FPM,Nginx和Mariadb但是在Docker中,尽管尝试了几天,但我无法复制相同的堆栈.

在所有LEMP / LAMP堆栈码头指南中,只有这一个chentex/docker-nginx-centos适用于我:

这是Dockerfile的代码

FROM centos:centos7
LABEL maintainer="Vicente Zepeda 

这开箱即用,我可以在http:// localhost上看到一个默认页面

唯一的问题是,它不包含PHP-FPM和Mariadb.

我试图改变文件并添加PHP-FPM和Mariadb,但我发现在reddit上每个容器应该有服务,就像在一个容器中用于nginx,另一个用于php …而且我迷失了如何做那个

最佳答案
你可以使用我的docker-compose文件(mariadb,php-fpm,nginx)

https://github.com/matchish/skeleton

赶紧跑

docker-compose up -d

你会在http://localhost看到“Hello world”
您可以在.env文件中编辑环境变量

另外,我推荐https://laradock.io/

您可以在任何服务中运行终端

docker-compose exec db bash
docker-compose exec php-fpm bash
docker-compose exec nginx bash 

此外,您还可以添加数据库初始化文件.阅读此文件中的手册https://github.com/matchish/skeleton/blob/master/mariadb/docker-entrypoint-initdb.d/createdb.sql.example

要重新启动服务停止容器,然后再次启动它

docker-compose stop nginx 
docker-compose up -d nginx

如果你需要编辑nginx conf,你应该重建图像

docker-compose build nginx 
docker-compose up -d

如果你需要phpmyadmin,你可以将它添加到撰写文件

phpmyadmin:
  image: phpmyadmin/phpmyadmin
  environment:
    PMA_HOST: db
    PMA_PORT: 3306
  ports:
    - '8181:80'

现在您可以在http://localhost:8181访问它

在生产中使用compose的最简单方法是将项目目录复制到生产服务器并运行docker-compose up -d.您可以排除日志目录.最好有多个撰写文件(https://docs.docker.com/compose/production/)

在部署到生产环境时,不要忘记保留文件权限

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章