docker 中搭建php环境经验分享

  目录

  本次安装的推荐配置:

  一、虚拟机安装centos7

  vm虚拟机需要4g内存,网络使用nat模式设置静态ip、50G硬盘、1cpu、2核(踩坑经验:太低配置重启后会开不了机)

  开机后

  查看版本要在3.10以上

  更新系统组件

  二、安装docker

  删除旧docker

  安装工具

  配置docker的yum源

  安装docker

  启动docker

  设置开机启动

  设置镜像国内加速(踩坑经验:设置多个源头,不然会很慢)

  创建文件

  输入源头url

  tee /etc/docker/daemon.json <<-'EOF'

  {

  "registry-mirrors": [

  "https://mirror.ccs.tencentyun.com",

  "https://docker.mirrors.ustc.edu.cn/",

  "https://hub-mirror.c.163.com/",

  "https://reg-mirror.qiniu.com/"

  ]

  }

  EOF

  重启配置

  重启docker

  设置容器局域网,容器间相互访问 (心得:容器互相访问,不用通过宿主机,更快)

  查看局域网是否创建成功

  三、安装php

  下载php镜像

  (踩坑经验:后面要带fpm)

  使用镜像生成临时容器 ,名为:test_php7.4.3,用来拷贝配置文件(踩坑经验:空文件夹做共享,会将容器的配置文件清空)

  使用 docker ps 命令查看是否创建成功

  创建需要被共享的文件夹

  将镜像内文件拷贝出来

  (左边是容器,会连同文件夹一起复制过去,右边是放进哪个文件夹里)

  启动正式容器

  docker run

  --network my_network

  --name prod_7.4.3-fpm

  --restart=always

  -v /data/php7.4.3/etc:/usr/local/etc

  -v /data/nginx1.24.0/html:/var/www/html

  -d php:7.4.3-fpm

  备注:--restart=always 重启自动启动容器

  没问题后,停止临时镜像,并删除临时镜像

  php开通 mysql pdo 扩展,php连接mysql会用到

  进入php容器后

  查看php扩展模块

  安装扩展

  四、安装nginx

  下载镜像

  镜像生成临时容器(用来拷贝配置文件)

  使用docker ps 查询是否启动成功

  创建需要被共享的文件夹

  mkdir -p /data/nginx1.24.0/conf/cert

  mkdir -p /data/nginx1.24.0/conf/conf.d

  mkdir -p /data/nginx1.24.0/html

  mkdir -p /data/nginx1.24.0/log

  mkdir -p /data/nginx1.24.0/ssl

  将镜像内文件拷贝出来

  (左边是容器,会连同文件夹一起复制过去,右边是放进哪个文件夹里)

  docker cp [临时容器id]:/etc/nginx/conf.d  /data/nginx1.24.0/conf

  docker cp [临时容器id]:/etc/nginx/nginx.conf /data/nginx1.24.0/conf/nginx.conf

  docker cp [临时容器id]:/usr/share/nginx/html /data/nginx1.24.0

  启动正式容器

  docker run

  --network my_network

  -p 80:80

  -p443:443

  --name prod_nginx1.24.0

  --restart=always

  -v /data/nginx1.24.0/conf/nginx.conf:/etc/nginx/nginx.conf

  -v /data/nginx1.24.0/conf/cert:/etc/nginx/cert

  -v /data/nginx1.24.0/ssl:/etc/nginx/ssl/

  -v /data/nginx1.24.0/conf/conf.d:/etc/nginx/conf.d

  -v /data/nginx1.24.0/log:/var/log/nginx

  -v /data/nginx1.24.0/html:/usr/share/nginx/html

  -d nginx:1.24.0

  备注:--restart=always 重启自动启动容器

  没问题后,停止临时镜像,并删除临时镜像

  五、安装mysql

  下载镜像

  开启临时镜像(用来拷贝配置文件)

  创建需要被共享的文件夹

  将镜像内文件拷贝出来

  (左边是容器,会连同文件夹一起复制过去,右边是放进哪个文件夹里)

  docker cp [临时容器id]:/var/log /data/mysql5.7.43

  docker cp [临时容器id]:/var/lib /data/mysql5.7.43

  docker cp [临时容器id]:/etc/mysql/conf.d /data/mysql5.7.43

  docker cp [临时容器id]:/etc/mysql/mysql.conf.d /data/mysql5.7.43

  启动正式容器

  docker run

  --network my_network

  --name prod_mysql5.7.43

  --restart=always

  -p 3306:3306

  -v /data/mysql5.7.43/log:/var/log

  -v /data/mysql5.7.43/lib:/var/lib

  -v /data/mysql5.7.43/conf.d:/etc/mysql/conf.d

  -v /data/mysql5.7.43/mysql.conf.d:/etc/mysql/mysql.conf.d

  -v /etc/localtime:/etc/localtime:ro

  -e MYSQL_ROOT_PASSWORD=root123456

  -d mysql:5.7.43

  备注:--restart=always 重启自动启动容器

  没问题后,停止临时镜像,并删除临时镜像

  # 进入容器

  # 创建用户并开启远程登录

  # 创建数据库并设置字符集

  # 给账号授权数据库

  # 刷新权限

  使用远程工具连接mysql,并建立一个user用户表,后面用来测试

  六、运行php项目

  将php项目通过ftp上传到 /data/nginx1.24.0/html (上面配置了这个地址会共享到容器内对应的文件夹)

  新增一个网站配置

  hosts新增一行 (你的windows电脑)

  重启docker

  在php项目中,新增一个访问数据库的代码

  项目连接mysql

  打开浏览器测试

  都是踩坑经验,无私分享,有问题欢迎留言,共同进步!

  到此这篇关于docker 中搭建php环境经验分享的文章就介绍到这了,更多相关docker 搭建php环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  您可能感兴趣的文章: