docker快速搭建nginx+php+nginx命令(已测试)

docker的安装这里就不说了,直接说docker搭建nginx+php+nginx。

docker pull mysql

docker pull php:7.3.5-fpm

docker pull nginx

如果不给出版本号,默认都是拉取latest最新版本的,也可以在拉取之前,用docker search查询一下目前的镜像有哪些,比如:

docker search nginx 等等。

拉取镜像需要一些时间,看自己服务器网速了。拉取完后就开始搭建。在搭建之前,你需要先创建目录和文件之类的。比如

mkdir -p /web

mkdir -p /web/mysql

mkdir -p /web/php

mkdir -p /web/nginx

首先在根目录下创建了web目录,然后在下面分别创建了mysql,php,nginx的目录。然后还要在php目录下创建php.ini的文件。在nginx下创建conf.d和logs的目录,以及nginx.conf的文件。

首先创建一个测试的nginx

因为不能挂载文件,只能挂载文件夹,所以先在一个test容器中复制一份配置文件。

先复制nginx.conf

docker run --name test1 -d nginx  
docker cp test1:/etc/nginx/nginx.conf /web/nginx/

复制过来的配置文件,先不要修改。再用同样的方法复制php.ini

docker run --name test2 -d php  
docker cp test2:/usr/local/etc/php/php.ini-production /web/php/
cd /web/php
mv php.ini-production php.ini

最后再分别删除test1和test2的容器。通过以下命令操作:

#查看所有容器
docker ps -a
#删除指定的容器
docker rm 容器ID

在上面的准备工作完成后,然后执行下面的命令即可完成搭建。

docker run --name hx_mysql -p 3306:3306 -v /web/mysql:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

docker run -d -p 9000:9000 --name hx_php -v /web/php:/var/www -v /web/php/php.ini:/usr/local/etc/php/php.ini --link hx_mysql:hx_mysql --privileged=true php:7.3.5-fpm

docker run --name hx_nginx -d -p 80:80 -p 443:443 -v /web/php:/usr/share/nginx/html -v /web/nginx/conf.d:/etc/nginx/conf.d -v /web/nginx/nginx.conf:/etc/nginx/nginx.conf -v /web/nginx/logs:/var/log/nginx --link hx_php:hx_php --privileged=true nginx:latest

上面三个命令建议依次执行即可。说明一下:hx_mysql,hx_php,hx_nginx是三个容器的名称,可以自行修改。

后续的填坑记:

配置好后如果打开是502 bad gateway 报错,那么一般是查看nginx的错误日志,在这里就是/web/nginx/logs/error.log。

如果日志里报upstream timed out (110: Connection timed out)或者其他的错误,可以首先按照百度搜的其他解决方法来处理,比如:

https://www.cnblogs.com/nulige/p/10156903.html

最后如果都不行的话,试试下面的命令:

#首先要关闭防火墙,除非你确定你防火墙里已经配置好了的
systemctl stop firewalld
pkill docker
iptables -t nat -F
ifconfig docker0 down
#重启docker服务
systemctl restart docker
#依次重启相关容器
docker start hx_mysql
docker start hx_php
docker start hx_nginx

一般来说,如果遇到问题,按照上面的设置好后,就可以正常打开网页了,当然一次性配置好没什么问题是最爽的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值