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 --...
·
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 }}' <container-ID>
更多推荐
已为社区贡献1条内容
所有评论(0)