docker php 环境实操
(1)拉取镜像
docker pull php:5.6-fpm
(2)安装
docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm
命令说明:
-
--name myphp-fpm : 将容器命名为 myphp-fpm。
-
-v ~/nginx/www:/www : 将主机中项目的目录 www 挂载到容器的 /ww
(3)配置安装nginx
mkdir ~/nginx/conf/conf.d
(4) 拉取运行 ngxin
docker run --name nginxphp -p 8083:80 -d -v ~/nginx/www:/usr/share/nginx/html:ro -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphp-fpm:php nginx:1.20



搞个自定义web配置文件

# 不用https
#server {
# listen 80;
# server_name www.你的域名.com;
# location / {
# # default_type text/html;
# # return 200 'good';
# # proxy_pass http://120.221.212.146:85;
# root /usr/share/nginx/html;
# index index.html index.html;
#
# }
#}
#用htts
server {
listen 80;
server_name fightingtop.cn www.fightingtop.cn;
rewrite ^ https://$host$1 permanent;
}
server {
listen 443;
server_name www.你的域名.com; # 改为绑定证书的域名
ssl on;
ssl_certificate /etc/nginx/conf.d/ssh/www.xxxx.com_nginx/www.xxxxxx.com_bundle.crt; # 改为自己申请得到的 crt 文件>的名称
ssl_certificate_key /etc/nginx/conf.d/ssh/www.xxxxx.com_nginx/www.xxxxxx.com.key; # 改为自己申请得到的 key 文件的名
称
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html; #站点目录
index index.html index.htm;
}
}
这里配置证书的地址:主意 /etc/nginx/conf.d/ssh/www.xxxx.com_nginx 这个是容器内的地址。
(5) docker mysql
(6)php 竟然不支持 mysql 驱动
进入mysql 容器:
docker exec -it 4b9b502e3586 /bin/bash
docker-php-ext-install pdo pdo_mysql
docker-php-ext-install pdo_mysql mysqli mysql gd
docker-php-ext-install mysql
docker-php-ext-install mysqli
容器外:docker restart 4b9b502e3586 重启
更多推荐
https://blog.csdn.net/zhanglixin999/article/details/121815485
所有评论(0)