docker 搭建lnmp ----ubuntu

1.拉取镜像文件

sudo docker pull nginx

sudo docker pull php:5.6

sudo docker pull mysql

2:查看已有的镜像

sudo docker images

 

3:创建宿主文件夹

mkdir -p nginx/www  #创建nginx目录用来挂在容器www

4:创建容器并运行

cd nginx  #切换目录

sudo docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql

#创建一个mysql容器并运行,-p将宿主机3307端口映射到容器的3306端口,-d宿主机以守护进程在后台运行

sudo docker run -d -p 9000:9000 -v $PWD/www:/usr/share/nginx/html --name myphpfpm --link xy_mysql:mysql php:5.6-fpm

#-v将当前宿主机挂载到容器的/usr/share/nginx/html目录 --link用于php-fpm和mysql容器之间的通信

sudo docker run -d -p 8080:80 -v $PWD/www:/usr/share/nginx/html --name mynginx --link myphpfpm:phpfpm nginx

#构建Nginx容器

配置nginx容器

sudo docker exec -it mynginx /bin/bash

切进nginx容器,
退出命令行,不要使用exit,因为exit会让容器停止。这里使用ctrl+D

使用专用的复制命令将配置文件复制到宿主机,然后在宿主机进行编辑

sudo docker cp mynginx:/etc/nginx/conf.d/default.conf ./default.conf  

配置default.conf如下

location ~ \.php$ {

fastcgi_pass myphpfpm:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

include fastcgi_params;

}

宿主机编辑完后,存入nginx容器中

sudo docker cp    ./default.conf  mynginx:/etc/nginx/conf.d/default.conf

重启nginx服务并退出容器

service nginx restart

由于php-fpm没安装pdo扩展,安装相应扩展,先进入php容器

docker exec -it myphpfpm /bin/bash

cd /usr/bin

安装扩展

docker-php-ext-install pdo_mysql

退出后重启并查看容器状态

docker ps

测试:

在www下新建index.php文件

   <?  echo php phpinfo();?>,保存退出,打开浏览器输入localhost:8080/index.php

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值