docker 构建整个环境(Docker如何快速搭建LNMP环境最新)
docker 构建整个环境
Docker如何快速搭建LNMP环境最新前言提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Mysql?1.拉取mysql镜像
docker pull mysql:5.6
2.运行启动mysql容器
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql:5.6
参数说明:
-d 让容器在后台运动
-p 添加主机到容器的端口映射
-e 设置mysql环境变量,设置root的初始密码
–name 给容器取名字
最后一个参数是镜像名称,为拉取镜像的名称
1.拉取php-fpm镜像
docker pull php:7.0-fpm
也可拉docker pull php:7.4.20-fpm docker pull php:7.3.28-fpm 这些版本在仓库里都是存在,放心拉
2.运行启动php-fpm容器
docker run -d -v D:/docker/nginx:/var/www/html -p 9000:9000 --link xy_mysql:mysql --name xy_phpfpm php:7.0-fpm
参数说明:
-d 让容器在后台运动
-p 添加主机到容器的端口映射
-v 添加目录映射,主机上的D:/docker/nginx映射到/var/www/html ,即同步目录下内容.'D:/docker/nginx'这个主机下的目录你直接复制你想要
写代码的目录即可,$PWD如果有效的话是指当前目录,我是因为使用此参数报错,所以直接复制粘贴了路径.
–name 给容器取名字
–link 与另外一个容器建立联系,这样可以在当前容器去使用另一个容器的服务
最后一个参数是镜像名称,为拉取镜像的名称
3.进入php-fpm容器
docker exec -it xy_phpfpm bash
参数说明
-t 在容器里生产一个伪终端
-i 对容器内的标准输入 (STDIN) 进行交互
在/var/www/html/下创建一个index.php文件后,你会发现本地也会有,这就同步了,因为启动容器时已经把主机和容器相应的目录进行
映射了;
4.安装pdo_mysql模块
因之后要使用pdo模块进行测试,所以安装pdo_mysql模块.
docker-php-ext-install pdo_mysql
php -m 打印查看是否安装成功;
这样安装之后在phpinfo()打印后不一定会显示扩展,之后测试会有修改的步骤
三、安装nginx1.拉取nginx镜像
docker pull nginx:1.10.3
2.运行nginx容器
docker run -d -p 80:80 -v D:/docker/nginx:/var/www/html --link xy_phpfpm:phpfpm --name xy_nginx nginx:1.10.3
3.进入nginx容器,修改nginx配置文件让他支持php
docker exec -it xy_nginx bash
这里推荐去 /etc/nginx/conf.d/default.conf下去更改;
fastcgi_pass 写php:7.0-fpm:9000 别写起的别名可能会失效;
root写成之前php容器设置的代码目录;
4.测试安装是否成功
修改index.php代码
<?php phpinfo();
这个在使用之前安装的命令之后phpinfo()并没有mysql,需要进入php.ini中去更改
5.修改配置
docker exec -it xy_phpfpm bash
这个容器中php.ini 在/usr/local/etc/php下 php.ini-development php.ini-production
这两个文件就是php.ini 文件是一模一样 看名字就知道什么意思了
把extension=php_pdo_mysql.dll扩展放开就可以
6.链接mysql测试
修改index.php代码
try { $con = new PDO('mysql:host=xy_mysql;dbname=mysql', 'root', 'xy123456'); $con->query('SET NAMES UTF8'); $res = $con->query('select * from user'); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { // echo "id:{$row['id']} name:{$row['name']}"; print_r($row); } } catch (PDOException $e) { echo '错误原因:' . $e->getMessage(); }
如果没报错,则为成功
总结成功则初级环境搭建就ok了,整个过程搭建要细心,在配置文件的时候多查资料
以上就是Docker搭建LNMP环境 的详细内容,更多关于Docker搭建LNMP环境的资料请关注开心学习网其它相关文章!
- docker root权限(docker 免root权限登陆的解决方案)
- docker 搭建gitlab(使用Docker搭建私有GitLab的两种方案)
- volume怎么添加docker(docker volume删除卷的操作)
- docker的配置与使用(docker之docker-machine用法详解)
- windows docker 使用数据库教程(docker安装并持久化postgresql数据库的操作步骤)
- docker容器无法启动(Docker 无法停止或删除容器服务问题的解决方案)
- docker 查看当前镜像(Docker 查看镜像信息的方法)
- docker日志挂载(docker run -v 挂载数据卷异常,容器状态一直是restarting的解决)
- 如何编写docker-compose(使用Docker Compose搭建 Confluence的教程)
- docker镜像查看分层(Docker 镜像优化从1.16GB到22.4MB)
- 自建docker镜像仓库(使用docker制作分布式lnmp 镜像)
- docker配置源不生效(解决docker CMD/ENTRYPOINT执行sh脚本报: not found/run.sh:)
- 查看docker日志大小(docker logs-查看docker容器日志的实现)
- docker查看管理配置信息(Docker Secret的管理和使用详解)
- docker镜像重启数据丢失(Docker数据备份恢复实现过程详解)
- docker管理脚本(Docker可视化ui管理工具Portainer安装及使用解析)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
- 小米推出米兔儿童电话手表奥特曼版,799 元,支持微信 QQ(小米推出米兔儿童电话手表奥特曼版)
- 贾怀胤唱《白龙马》 炸场 了 没想到京剧还能这么玩(贾怀胤唱白龙马)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
- 朱鹤松被不断认可,凤凰传奇玲花喊话岳云鹏,索要老朱演出门票(朱鹤松被不断认可)
热门推荐
- dedecms标签怎么调用(织梦DEDECMS获取当前页面的顶级栏目名称及链接教程)
- php闰年计算公式(php判断/计算闰年的方法小结三种方法)
- ASP.NET中Obsolete属性
- php7处理方案(PHP7 安装event扩展的实现方法)
- dedecms搜索功能怎么设置详细(dedecms pagelist标签修改方法分享)
- idea如何运行springboot项目(使用idea搭建springboot initializer服务器的问题分析)
- nginx https 域名配置(阿里云Nginx配置https实现域名访问项目图文教程)
- MySQL 8.0.19安装详细教程(windows 64位)(MySQL 8.0.19安装详细教程windows 64位)
- laravel模型详解(laravel config文件配置全局变量的例子)
- 面试时如何谈兴趣爱好
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9