docker安装配置lnmp
一、安装配置docker
1、下载docker:yum install -y docker
2、设置docker远程镜像地址为国内路径:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io;然后vim /etc/docker/daemon.json去掉配置文件中的逗号

二、安装配置mysql
1、docker拉取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
三、安装配置php
1、docker拉取php镜像:docker pull php:7.0-fpm
2、在宿主机创建目录:mkdir -p /var/nginx/www/html
3、运行php容器:docker run -d -v /var/nginx/www/html:/var/www/html -p 9000:9000 --link xy_mysql:mysql --privileged --name xy_phpfpm php:7.0-fpm
4、进入php容器:docker exec -it xy_phpfpm bash
5、安装pdo扩展:docker-php-ext-install pdo_mysql
6、配置php.ini:
cp /usr/local/etc/php/php.ini-development /usr/local/etc/php.ini
vim /usr/local/etc/php.ini
开启pdo扩展,如下

7、退出php容器;exit
8、重启php-fpm服务:kill -USR2 2983(pid要先查询)

四、安装配置nginx
1、docker拉取nginx:docker pull nginx:1.10.3
2、运行nginx容器:docker run -d -p 80:80 --name xy_nginx -v /var/nginx/www/html:/var/www/html --link xy_phpfpm:phpfpm --privileged --name xy_nginx nginx:1.10.3
3、进入nginx容器:docker exec -it xy_nginx bash
4、配置nginx:vim /etc/nginx/conf.d/default.conf
location ~ \.php$ {
root /var/www/html;
fastcgi_index index.php;
fastcgi_pass phpfpm:;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

5、重新加载nginx配置文件:nginx -s reload
五、测试
1、添加测试文件:vim /var/nginx/www/html/index.php
<?php
try {
$con = new PDO('mysql:host=mysql;dbname=test', 'root', 'xy123456');
$con->query('SET NAMES UTF8');
$res = $con->query('select * from test');
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
echo "id:{$row['id']} name:{$row['name']}";
}
} catch (PDOException $e) {
echo 'err:' . $e->getMessage();
}

2、virtualbox添加端口转发:

3、连接mysql,添加数据库、数据表及数据


4、url访问:http://127.0.0.1/index.php

六、改进
1、添加开机启动项:
# 启动docker服务
systemctl start docker
# 启动mysql容器
docker start xy_mysql
# 启动php-fpm容器
docker start xy_phpfpm
# 启动nginx容器
docker start xy_nginx

2、建立软连接,因为/var/www目录已经挂载在外部windows系统上,所以添加软连接方便以后代码编辑,ps:添加软连接后需要重启服务:ln -s /var/www/html /var/nginx/www
七、备注:
1、代码连接数据库域名要写为数据库容器关联到php容器的名称,端口为数据库容器的端口:

到此docker下配置lnmp环境完成,参考url:https://blog.csdn.net/xy752068432/article/details/75975065
如果对您有帮助,请给我点个赞>∏<,有什么不正确的也麻烦指出
docker安装配置lnmp的更多相关文章
- CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
以下全部转载于 http://blog.csdn.net/lane_l/article/details/20235909 本人于今晚按照该文章使用centos 6.7 64bit安装成功,做个备份, ...
- CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)
CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: /etc/init.d/iptables stop #关闭防火墙 关闭SELINUX vi /etc/sel ...
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
准备篇 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dp ...
- docker安装配置gitlab详细过程
docker安装配置gitlab详细过程 获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...
- docker安装配置
########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#Docker [docker ...
- centos7 docker 安装配置
docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...
- 【云计算】ubuntu下docker安装配置指南
Docker Engine安装配置 以下描述仅Docker在Ubuntu Precise 12.04 (LTS).Ubuntu Trusty 14.04 (LTS).Ubuntu Wily 15.10 ...
- Centos 7 Docker安装配置
版本介绍 Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE.社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设 ...
- mac系统下docker安装配置mysql详细步骤
上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧. 一.docker配置镜像加速器 我们使用docke ...
随机推荐
- python中threading中的lock类
虽然线程可以在程序的执行过程中提高程序的运行效率,但是其带来的影响却难以忽略. Lock类是threading中用于锁定当前线程的锁定类.顾名思义,其作用是对当前运行中的线程进行锁定,只有当前线程被释 ...
- Codeforces Round #459 (Div. 2)C. The Monster
C. The Monster time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Tian Ji -- The Horse Racing HDU - 1052
Tian Ji -- The Horse Racing HDU - 1052 (有平局的田忌赛马,田忌赢一次得200块,输一次输掉200块,平局不得钱不输钱,要使得田忌得到最多(如果只能输就输的最少) ...
- 利用autotools工具制作从源代码安装的软件 分类: linux 2014-06-02 23:27 340人阅读 评论(0) 收藏
编写程序(helloworld.c)并将其放到一个单独目录. helloworld.c: #include<stdio.h> int main() { printf("hello ...
- jmeter(十六)Jmeter之Bean shell使用(二)
上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ...
- AngularJS开发最常犯的10个错误
简介 AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客 ...
- .net简单的fileupload控件上传
前台代码: <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID ...
- c# 搜狗拼音输入法,刷输入速度和累计输入
事件起因: 搜狗拼音有几个称号(光速超人:要求最快打字速度 200字/m,一代文豪:要求累计输入字数达200000)一直没有那么快的速度,就想用.net来实现. 相关技术: 1.winform基本控件 ...
- php数组转为字符串,数据库存储
php对象转字符存储数据库的方法. 总所周知对象是不能直接存储到数据库的.那么我们用什么样的方法能够存储到数据库中能? 方法一:序列化serialize和unserialize 序列化对象serial ...
- WPF学习11:基于MVVM Light 制作图形编辑工具(2)
本文是WPF学习10:基于MVVM Light 制作图形编辑工具(1)的后续 这一次的目标是完成 两个任务. 画布 效果: 画布上,选择的方案是:直接以Image作为画布,使用RenderTarget ...