使用docker 容器及镜像 php-nginx 部署 LNMP 环境

本文目录

      • LNMP
      • 一、docker 安装与启动
      • 二、仓库拉取所需镜像(docker pull)
      • 三、docker 数据卷创建(docker volume create)
      • 四、 Xftp 上传网页到 Linux 宿主机的数据卷
      • 五、docker 启动容器 Nginx(docker run)并映射目录和端口
      • 六、浏览器访问 http://宿主机ip:端口8001/xxx

LNMP

LNMP 即 Linux + Nginx + Mysql + PHP 搭建的服务器环境;此外,还有 LAMP(Linux + Apache + Mysql + PHP)搭建的服务器环境。LNMP 通过 Nginx 的轻量级,可替代 LAMP。

一、docker 安装与启动

确保docker 已经下载并启动

1
2
yum install -y docker  #安装 docker
systemctl start docker #启动 docker

二、仓库拉取所需镜像(docker pull)

  • docker images 查看本地已下载镜像

    笔者这里本地已有 centos、php-apache-dev、httpd、mysql 镜像,

    故以缺少的 php-nginx 镜像为例下载

    1592412178899

  • docker pull 镜像名:版本 拉取仓库中的指定镜像(版本默认latest)

    1
    docker pull php-nginx

注意:使用镜像加速,例如阿里云,可以避免从国外网站拉取镜像太慢或失败。

  1. root 账号修改 daemon.json 配置文件 :

    1
    vi /etc/docker/daemon.json
  2. 添加注册好的镜像加速地址:

    1
    {"registry-mirrors": ["https://your_mirror.aliyuncs.com"]}
  3. 重载配置并重启 docker

    1
    2
     systemctl daemon-reload  #重新加载配置
     systemctl restart docker #重启docker

三、docker 数据卷创建(docker volume create)

1
docker volume create cuivol  #创建数据卷
  • 数据卷: 在宿主机上创建的,可供一个或多个 docker 容器使用的特殊目录,并且持久保存,数据持久化

1
docker volume inspect cuivol  #查看数据卷详情
  • 创建后自动生成数据卷目录,无需手动创建目录

  • docker volume inspect 查看数据卷文件固定位置/var/lib/docker/volumes/数据卷名称/_data

四、 Xftp 上传网页到 Linux 宿主机的数据卷

Xftp 工具,将 Web 网页上传到 linux 宿主机的数据卷

  • 新建会话,输入 linux 宿主机 IP 地址 ,账号 root,密码 xxxx 连接

    1592412468917

  • 把左侧 web 文件—>拖拽到—>右侧 linux 宿主机的数据卷”cuivol“ 目录

    /var/lib/docker/volumes/cuivol/_data

1592413225871

注意:使用 ifup ens32 开启网卡,ifconfig 来查看 linux 宿主机 ip

1592411018283

五、docker 启动容器 Nginx(docker run)并映射目录和端口

1
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 镜像以创建并启动容器

    1592413568494

要修改 docker php-nginx 容器的默认路径端口,

注意:

  1. /appnginx 默认的网页路径:80nginx 默认的网页端口

  2. docker exec 容器id/名称 bash 进入up状态的 nginx 容器(docker ps 查看正up的容器id)

    1592415071043

  3. vi /opt/docker/etc/nginx/vhost.conf 可以修改 “ listen 80 ”,“root /app”,修改后 :wq 保存退出 1592415560672

六、浏览器访问 http://宿主机ip:端口8001/xxx

浏览器中打开 http://192.168.0.118:8001/form.html
1592416872805
By Mr.Cui T202006 Goodnight