- 时间:2021-10-20 03:06 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)
[b]Ubuntu 搭建基于Docker的LNMP+Redis的开发环境[/b]
服务器环境:Ubuntu 14.04
[b]1.安装Docker[/b]
1.1 执行update命令,和服务器同步软件包,执行apt-get install * 时可以下载最新的软件。
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090103_0_72634.jpg[/img]
1.2 安装Docker和创建软链接
[b] [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090103_1_59659.jpg[/img]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090103_2_45277.jpg[/img]
[/b]
1.3 启用Docker服务
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090104_3_20202.jpg[/img]
[b]2. 获取搭建环境所需镜像[/b]
2.1 MySQL镜像
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090104_4_37353.jpg[/img]
2.2 Redis镜像
[b] [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090105_5_33112.jpg[/img]
[/b]
2.3 nginx-php-fpm镜像
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090105_6_18451.jpg[/img]
2.4 查看已下载的镜像
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090106_7_67256.jpg[/img]
对于Docker初学者来说,可以使用现有镜像,目前下载镜像的渠道主要有docker官方的公有仓库Docker Hub(https://hub.docker.com)和国内的DaoCloud(https://dashboard.daocloud.io), 两者区别是国外的资源较多,但是下载速度极慢,国内的资源较少,但是下载速度很快。当然,能力比较好的技术人员,可以自己搭建所需镜像,并且可以上传到以上两个网站共享出来。
[b]3.使用镜像生成对应容器[/b]
3.1 生成MySQL容器
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090107_8_53009.jpg[/img]
3.1.1 --name为容器名称,mysql_test为自定义名称;
3.1.2 -p 暴露端口,映射端口(可以映射多个端口),外部端口 : 容器内部端口;
3.1.3 -e 设置任意环境变量(容器内)
MYSQL_ROOT_PASSWORD=root 这里指设置数据库密码为root;
3.1.4 mysql:5.6 镜像名称:版本
3.2 生成Redis容器
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090107_9_95717.jpg[/img]
3.2.1 -p6379:6379 映射端口,即外部端口:容器内端口
3.2.2 redis 镜像版本
3.3 生成nginx-php-fpm容器
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090108_10_15303.jpg[/img]
3.3.1 --namelnmp_test 为容器名称;
3.3.2 -p 暴露端口,映射端口(可以映射多个端口) 外部端口:容器内部端口;
-p 88:80 外部端口88:容器内部端口80;
3.3.3 -d:后台模式运行,如果没有则以前台运行(当前进程关闭后,当前容器自动关闭)
3.3.4 richarvey/nginx-php-fpm 当前镜像名称:版本
3.3.5 --link:容器内部通信 容器名称:内部别名(内部使用)
--link mysql:db 使用时,直接使用db 就可以访问到数据库mysql容器
php 访问本地mysql 使用的是localhost,容器内部即可使用 db
3.3.6 -v:卷,外部目录虚拟到容器内目录 外部目录:容器内目录
-v /home/lanmps/www:/www/wwwroot
/home/lanmps/www外部目录,我的项目目录
/www/wwwroot容器内部目录
3.4. 查看已经生成的容器并启动容器
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090108_11_78051.jpg[/img]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090108_12_99904.jpg[/img]
可能遇上的问题:
1.镜像下载缓慢或者失败,如图:
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090109_13_30166.jpg[/img]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090110_14_2040.jpg[/img]
主要原因:资源已取消、网速慢;
解决办法:优先查找国内镜像资源,获取镜像失败重新查找资源或者自己做所需镜像资源;
1.修改挂载目录文件,不能同步到容器环境;
原因:容器中的nginx配置文件中的网站目录路径跟我挂载的路径不一致;
解决办法:进入容器环境,修改nginx配置文件。
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090110_15_14279.png[/img]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090110_16_58039.png[/img]
测试是否搭建成功:
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090111_17_62467.jpg[/img]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090111_18_48184.png[/img]
已经能成功访问到搭建的环境,数据库也能成功连接。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!