docker部署nginx+php+mysql

一、nginx
1、创建conf/conf.d log www目录分别用于放配置文件,日志文件,代码文件,
2、docker pull nginx 获取nginx镜像
二、php
1、docker pull php:5.6-fpm 获取php镜像
2、运行php容器
  docker run --name php-fpm -v /nginx/www:/www -d php:5.6-fpm -v /nginx/www:/www (将前面创建的www目录挂载到容器的www目录)
  docker ps 查看运行的容器
  
  可以看到这时已经有我们命名为php-fpm的容器在运行了
三、php+nginx配置
1、在之前创建的conf.d目录下创建php-nginx.conf文件
内容
server {
listen 80;
server_name localhost;

location / {
    root   /usr/share/nginx/html; #代码目录挂在到容器中的目录
    index  index.html index.htm index.php;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

location ~ \.php$ {
    fastcgi_pass   php:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
    include        fastcgi_params;
}

}
2、运行nginx容器
  docker run --name php-nginx -p port:80 -d -v /nginx/www:/usr/share/nginx/html:ro -v /nginx/conf/conf.d:/etc/nginx/conf.d:ro --link php-fpm:php nginx
  -p port:80 port替换成你想暴露在外面的端口号 它将映射到80端口上
  
  -v /nginx/www:/usr/share/nginx/html:ro -v /nginx/conf/conf.d:/etc/nginx/conf.d:ro 以只读的方式挂载代码目录和配置文件目录
  --link php-fpm:php nginx 把 php-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。
3、在nginx/www 目录中创建index.php echo phpinfo();

四、mysql
1、拉取 mysql镜像
  docker pull mysql (将会获取到最新的8.0版本)
2、创建 mysql/data mysql/logs mysql/conf
3 docker run -p 3307:3306 --name mysql -v /usr/sinatra/mysql/conf:/etc/mysql -v /usr/sinatra/mysql/logs:/logs -v /usr/sinatra/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql
  -v /usr/sinatra/mysql/conf:/etc/mysql -v /usr/sinatra/mysql/logs:/logs -v /usr/sinatra/mysql/data:/mysql_data挂载之前创建好的目录用于存放数据、日志和配置文件
  -e MYSQL_ROOT_PASSWORD=123456初始化root密码
4 docker ps 查看容器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘二光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值