1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > docker 运行 php nginx_docker搭建nginx+mysql+php

docker 运行 php nginx_docker搭建nginx+mysql+php

时间:2023-09-30 04:38:24

相关推荐

docker 运行 php nginx_docker搭建nginx+mysql+php

主要概念是 容器 和 镜像。

要先有镜像,启动镜像后,才有容器的出现。

不恰当地用类和实例来理解,镜像是类,容器是实例。

部分命令

拉取镜像docker pull {{具体镜像}}查看本机镜像docker images查看运行中的容器docker ps删除镜像docker rmi {{镜像id}}查看所有容器docker ps -a进入某个容器(exec也可以更换为attach)docker exec -it {{容器id/容器名称name}} /bin/bash退出某个容器(如果使用attach方式进入,退出后容器将会停止;而exec则不会)exit启动容器docker run [参数列表] {{容器id/容器名称name}}停止容器docker stop {{容器id/容器名称name}}删除容器docker rm {{容器id/容器名称name}}查看容器日志docker logs {{容器id/容器名称name}}

准备工作

1. 安装docker,并确保已启动2. 拉取需要的三个镜像:nginx、mysql、php

启动mysql容器

1. 需设置MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD三个中的任意一项

2. ef08065b0a30 是mysql的镜像id,也可使用镜像标签

docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /usr/local/mysql:/usr/local/mysql ef08065b0a30

启动php容器

1. {{mysql-container-id} 为mysql容器的id

2. 62c88af9f064 是php镜像id,也可使用镜像标签

docker run -itd -p 9000:9000 --link {{mysql-container-id}}:php --name phpfpm -v /var/www:/var/www 62c88af9f064

启动 nginx容器

1. {{php-container-id}} 为php容器id

2. 4037a5562b03 为nginx镜像id,也可使用镜像标签

docker run -itd -p 80:80 --link {{php-container-id}}:nginx --name nginx -v /var/www:/var/www 4037a5562b03

修改nginx容器中的配置

1. 把nginx容器中的配置文件拷贝出来docker cp {{nginx-container-id}}:/etc/nginx/conf.d/default.conf /var/2. 修改配置把配置中root的路径修改为容器中项目的目录路径把配置中fastcgi_pass中的域名修改为php容器id(或php容器名称name), 端口保留不变fastcgi_param中/scripts$fastcgi_script_name;修改为$document_root$fastcgi_script_name;3. 把修改好的配置,拷贝回nginx容器中docker cp default.conf {{nginx-container-id}}:/etc/nginx/conf.d/default.conf

检测nginx容器配置文件

1.进入nginx容器docker exec -it {{nginx容器id}} /bin/bash2. 检测配置nginx -t3. 检测通过,则重启nginxnginx -s reload4. 退出容器exit

测试页面和数据库

在php项目目录中编写测试代码,会自动映射到容器中。然后访问测试页面。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。