安装docker+nginx+php

2020-11-27  本文已影响0人  晓函

安装

  1. 执行指令 apt install docker.io

  2. 安装完成后执行 docker -v 能看到版本号说明安装成功


    我安装的版本号是17.03.2-ce
  3. docker的文件目录在# ls /var/lib/docker

  4. 依次安装nginx和php-fpm
    docker pull nginx
    docker pull php:7.1.0-fpm

    docker images 查看已安装的所有镜像

    查看安装的镜像
  5. 建立相关目录

mkdir -p  /home/docker/www          主机网站根目录
mkdir -p /home/docker/nginx/conf.d      主机nginx配置文件目录

  1. 运行php和nginx
# docker run  -p 80:80 --name mynginx -v /home/docker/nginx/conf.d:/etc/nginx/conf.d  -v /home/docker/www:/usr/share/nginx/html --privileged=true -d nginx
# docker run -p 9000:9000 --name myphp -v /home/docker/www/:/var/www/html/ --privileged=true -d php:7.1.0-fpm 
run 指令参数:
-p:                 端口映射,格式为:主机(宿主)端口:容器端口
--name="xxx"            为容器指定一个名称;
-v /xxx:/yyy            主机的目录 /xxx 映射到容器的/yyy
--privileged=true       以特权方式启动容器 
-d              后台运行容器,并返回容器ID;

  1. 创建nginx配置文件

查看myphp在docker中的IP,我的是172.17.0.2,配置nginx时会用到

# docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp

编辑nginx配置文件

#vim /home/docker/nginx/conf.d/default.conf 
server {  
    listen  80 default_server;  
    server_name localhost;
    root   /usr/share/nginx/html; 
     location / {   
         index index.html index.htm index.php;   
     }  
      location ~ \.php(.*)$ {  
        root   /var/www/html/;   
        fastcgi_pass 172.17.0.2:9000;       #172.17.0.2是刚才用指令查询出来的IP 
        fastcgi_index index.php;   
        fastcgi_split_path_info ^(.+\.php)(.*)$;   
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   
        fastcgi_param PATH_INFO $fastcgi_path_info;   
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;   
        include  fastcgi_params; 
     }
 }

  1. 测试是否配置成功
#echo <?php phpinfo();       >      /home/docker/www/info.php
访问http://192.222.123.65/info.php   
192.222.123.65是docker所在主机IP地址

docker 常用指令

# docker ps                     查看容器运行的列表
# docker ps -a                  查看所有容器列表
# docker images                 查看所有镜像
# docker pull  <镜像名>                拉取镜像
# docker stop  <container_id|names>     停止某个容器
# docker start <container_id|names>     启动某个容器
# docker restart <container_id|names>       重启某个容器
# docker rm  <container_id|names>       删除已停止的容器
# docker rm <container_id|names>  -f        删除运行中的容器
# docker stats                  查看docker内存占用等运行状态
# docker exec -it <container_id|names>  /bin/bash   在容器中开启一个交互模式的终端,exit退出
上一篇下一篇

猜你喜欢

热点阅读