docker搭建LNMP环境

docker搭建LNMP环境

一、docker安装mysql

#远程拉取镜像
docker pull mysql:5.6 
#查看拉下来的mysql的镜像
docker images  
#开始运行并启动一个容器
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.6
  
参数说明 
-d 让容器在后台运行 
-p 添加主机到容器的端口映射 
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置 
–name 容器的名字,随便取,但是必须唯一
#查看创建的容器
docker ps -a
#进入容器
docker exec -it mysql /bin/bash
  
参数说明 
-t 在容器里生产一个伪终端 
-i 对容器内的标准输入 (STDIN) 进行交互
#容器中默认是没有vim的,所以我们首先要安装vim,需要注意的是安装前记得先执行apt update命令,不然安装会出现问题。进入到mysql容器后,我们通过创建一个远程可以访问的用户,这样我们就能从别的主机访问到我们的数据库了。

二、docker安装php-fpm

#拉取php-fpm镜像
docker pull php:7.0-fpm
  
#创建phpfpm容器
docker run -d -v /data/nginx/html:/var/www/html -p 9000:9000 --name phpfpm php:7.0-fpm
  
#参数说明 
-d 让容器在后台运行 
-p 添加主机到容器的端口映射 
-v 添加目录映射,即主机上的/data和phpfpm容器中/var/www/html(phpfpm服务访问php文件目录)目录是同步的 
–name 容器的名字 
 
#进入phpfpm容器安装mysqli扩展(只需要这一步即可)
docker-php-ext-install mysqli
  
#在容器里查看扩展模块
php -m

三、docker安装nginx

#拉取nginx镜像
docker pull nginx
 
#将nginx.conf、default.conf最好从nginx容器中导出到本机上
docker cp /etc/nginx/nginx.conf:/data/nginx/conf/nginx.conf
 
docker cp /etc/nginx/conf.d/default.conf:/data/nginx/conf.d/default.conf
 
#修改配置文件default.conf让它支持php
location ~ \.php$ {
    root           /var/www/html;
    fastcgi_index  index.php;
    fastcgi_pass   phpfpm80:9000;//这里改成--link进来的源容器名称,也可以直接用php容器的ip
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;//如果你的根目录和php容器的根目录不一样,这里的$document_root需要换成你php下的根目录,不然php就找不到文件了
    include        fastcgi_params;                                                                                                                                              
}
 
 
#运行nginx容器
docker run -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -v /data/nginx/conf.d:/etc/nginx/conf.d --name nginx80 nginx:latest --link phpfpm80:phpfpm
 
 
参数说明:
-d 让容器在后台运行 
-p 添加主机到容器的端口映射 
-v 添加目录映射,这里最好nginx容器的根目录最好写成和php容器中根目录一样。但是不一点非要一模一样,如果不一样在配置nginx的时候需要注意 
–name 容器的名字 
–link 与另外一个容器建立起联系
 
#查看容器IP:
docker inspect --format '{{ .NetworkSettings.IPAddress }}'  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值