- 首页>
- 五分钟入门docker:配置lnmp环境
五分钟入门docker:配置lnmp环境
本文将介绍如何利用docker搭建php网站的基础环境,包括nginx,php,mysql,你也可以在此基础上安装phpMyAdmin来管理mysql。所有操作均在deepin 15.5 64位桌面版测试通过。
1.基础环境
Linux主机一台
2.Docker安装及配置
2.1.安装Docker
Docker的安装比较简单,参考官方文档的安装方式即可。
2.2.安装Docker Compose
Docker Compose是定义和运行多容器Docker应用程序的工具。Docker Compose的安装也比较简单,参考官方文档安装即可,国内可替换为daocloud镜像源以加速下载。
2.3.加速你的docker
由于众所周知的原因,docker官方镜像的访问速度非常慢,幸运的是,国内很多服务商提供了docker hub加速服务,可采用DaoCloud提供的加速器,官方网址:https://www.daocloud.io/mirror#accelerator-doc。
3.制作docker-compose文件
采用phpdocker.io提供的Generator可以非常方便的生成php基础环境的docker-compose文件。打开phpdocker Generator,根据自己的需要填写信息,或者参考我以下的配置,配置lnmp的基础环境:
Global configuration:Project name:
test
(这里填写你的网站)Base port:
8000
(web服务器默认端口)
PHP configuration:
PHP Version:
7.2.x
(根据自己的需要选择php版本)Extensions:
MySQL
(php扩展,按需勾选)
MySQL:
Enable MySQL:
on
(启用MySQL)Version:
5.6.x
(选择MySQL版本)Password for root user:
admin123
(MySQL root用户密码)Your app’s database name:
test
(网站数据库名称)Your app’s database username:
test
(网站数据库用户名)Your app’s database password:
test123
(网站数据库密码)
其余选项保持默认,如下图:
然后点页面下方的“Generate project archive”下载配置文件并解压,新建一个public文件夹(这个public就是网站的根目录):
在public
路径下新建一个index.php
文件,并将以下内容写入:
<?php echo phpinfo();?>
在此路径打开终端,输入docker-compose up -d
,等容器全部运行后,打开localhost:8000
测试一下:
4.安装phpMyAdmin
为了更方便的管理数据库,我们还可以在上文的基础上添加phpMyAdmin。这里我们同样采用docker的方式来安装phpMyAdmin。
用编辑器打开docker-compose.yml
:
############################################################################### # Generated on phpdocker.io # ############################################################################### version: "3.1" services: mysql: image: mysql:5.6 container_name: test-mysql working_dir: /application volumes: - .:/application environment: - MYSQL_ROOT_PASSWORD=admin123 - MYSQL_DATABASE=test - MYSQL_USER=test - MYSQL_PASSWORD=test123 ports: - "127.0.0.2:3306:3306" webserver: image: nginx:alpine container_name: test-webserver working_dir: /application volumes: - .:/application - ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf ports: - "127.0.0.2:80:80" php-fpm: build: phpdocker/php-fpm container_name: test-php-fpm working_dir: /application volumes: - .:/application - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini phpmyadmin: image: phpmyadmin/phpmyadmin container_name: test-phpmyadmin environment: - PMA_HOST=mysql - PMA_USER=root - PMA_PASSWORD=admin123 restart: always ports: - 127.0.0.2:8000:80 volumes: - /sessions depends_on: - mysql
这里我把nginx的端口映射修改为了127.0.0.2:80
,MySQL的端口映射修改为了127.0.0.2:3306
,phpMyAdmin的端口映射为127.0.0.2:8000
,然后保存,在此路径再次打开终端,先执行docker-compose down
停止并删除此网站的所有docker容器(这并不会删除public以及phpdocker目录下的文件),然后再次执行docker-compose up -d
,现在打开127.0.0.2:8000
和127.0.0.2
,就可以分别访问phpmyadmin和我们的网站了:
结语:容器化技术可以帮助我们轻松便捷的配置软件开发和生产环境,解决开发机和生产机环境依赖及基础环境等问题,可以将软件和环境一起打包,并且相比传统虚拟机而言十分节省系统资源,详细的介绍请参考:What is docker?
杨耀东 万事都有选择,哪怕是真相也不例外。
为你推荐
- 重庆市仙桃大数据与物联网学院,11月18日,正式启航!
仙桃大数据学院
- 青年人才科技创新交流会暨西南AI联盟成立
仙桃大数据学院
- 招聘丨仙桃大数据与物联网职业培训学院人员招聘简章
仙桃大数据学院
- 共话前沿技术 | 人工智能前沿技术沙龙在我院成功召开
仙桃大数据学院
- 机器学习五大流派
苏幕遮
- 新时代新职业新工种创新试点:重庆市渝北区大数据分析师特色工种
仙桃大数据学院
- 产教融合——腾恩阿尔克科技集团与仙桃大数据学院举行业务合作
仙桃大数据学院
- 仙桃大数据与物联网创新学院
仙桃大数据学院
- 纯干货|先进实用,且听他讲“工业物联网体系架构”
仙桃大数据学院
- 眼部识别三兄弟今天带你认识他们
仙桃大数据学院