使⽤docker容器及镜像php-nginx部署LNMP环境
本⽂⽬录
LNMP
LNMP 即 Linux + Nginx + Mysql + PHP 搭建的服务器环境;此外,还有 LAMP(Linux + Apache + Mysql + PHP)搭建的服务器环境。LNMP 通过 Nginx 的轻量级,可替代 LAMP。
⼀、docker 安装与启动
确保docker 已经下载并启动
yum install -y docker #安装 docker
systemctl start docker #启动 docker
⼆、仓库拉取所需镜像(docker pull)
docker images 查看本地已下载镜像
笔者这⾥本地已有 centos、php-apache-dev、httpd、mysql 镜像,
mysql社区版国内镜像下载
故以缺少的 php-nginx 镜像为例下载
docker pull 镜像名:版本 拉取仓库中的指定镜像(版本默认latest)
docker pull php-nginx
注意:使⽤镜像加速,例如阿⾥云,可以避免从国外⽹站拉取镜像太慢或失败。
1. root 账号修改 daemon.json 配置⽂件 :
vi /etc/docker/daemon.json
2. 添加注册好的镜像加速地址:
{"registry-mirrors":["your_mirror.aliyuncs"]}
3. 重载配置并重启 docker
systemctl daemon-reload #重新加载配置
systemctl restart docker #重启docker
三、docker 数据卷创建(docker volume create)
docker volume create cuivol #创建数据卷
数据卷: 在宿主机上创建的,可供⼀个或多个 docker 容器使⽤的特殊⽬录,并且持久保存,数据持久化。
docker volume inspect cuivol #查看数据卷详情
创建后⾃动⽣成数据卷⽬录,⽆需⼿动创建⽬录
⽤docker volume inspect 查看数据卷⽂件固定位置: /var/lib/docker/volumes/数据卷名称/_data
四、 Xftp 上传⽹页到 Linux 宿主机的数据卷
Xftp ⼯具,将 Web ⽹页上传到 linux 宿主机的数据卷
新建会话,输⼊ linux 宿主机 IP 地址 ,账号 root,密码 xxxx 连接
把左侧 web ⽂件—>拖拽到—>右侧 linux 宿主机的数据卷”cuivol“ ⽬录/var/lib/docker/volumes/cuivol/_data
注意:使⽤ ifup ens32 开启⽹卡,ifconfig 来查看 linux 宿主机 ip
五、docker 启动容器 Nginx(docker run)并映射⽬录和端⼝docker run -d -v cuivol:/app -p 8001:80 --privileged=true webdevops/php-nginx -d 后台静默运⾏启动过程
-v cuivol:/app 映射宿主机数据卷到 docker 容器的⽬录(数据卷名称:/容器⽬录 )-p 8001:80 映射宿主机的端⼝到 docker 容器的端⼝(宿主机端⼝:容器端⼝)
--privileged=true 授予权限
webdevops/php-nginx docker run 所要启动的 nginx 镜像以创建并启动容器
要修改 docker php-nginx 容器的默认路径端⼝,
注意:
1. /app 是 nginx 默认的⽹页路径,:80 是 nginx 默认的⽹页端⼝
2. docker exec 容器id/名称 bash 进⼊up状态的 nginx 容器(docker ps 查看正up的容器id)
3. vi /opt/docker/etc/f 可以修改 “ listen 80 ”,“root /app”,修改后 :wq 保存退出
六、浏览器访问 宿主机ip:端⼝8001/xxx
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论