docker 配置 nginx+ php
docker 的安装 请查看 centos7安装 centos8安装
查看nginx 镜像
-
命令行 `docker search nginx
-
官网查看 Link
-
执行命令
docker pull nginx
下载nginx 镜像 -
执行命令
docker images
查看本地的镜像
查看php镜像
- 命令行 `docker search php
- 官网查看 Link
- 执行命令
docker pull php:7.4-fpm
下载php镜像 (这里下载的是7.4版本) - 执行命令
docker images
查看php本地的镜像
创建和配置docker 和 本地 映射文件,目录
- 创建conf.d目录 目录 /home/nginx/conf/conf.d 此目录存放网站的配置文件
- 创建测试网站 配置文件 test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
location ~ \.php$ {
fastcgi_pass docker-php:9000;//此处注意docker-php 是php docker运行的别名
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
- 创建网站目录地址 /home/nginx/www
- 创建测试网站php文件 index.php
<?php
phpinfo();
运行 php 和 nginx
- 运行php docker 此处用到docker run 命令
docker run -p <HOST_PORT>:<CONTAINER_PORT> IMAGE
#-name=docker-php": 为容器指定一个名称
#-v: 绑定一个卷 /home/nginx/www:/var/www/html 这里服务器目录/home/nginx/www 绑定php docker 目录 /var/www/html
#-p:指定端口映射,格式为:主机(宿主)端口:容器端口 9000:9000
#-d 后台运行
#php:7.4-fpm 为 docker 镜像名称和TAG
docker run --name docker-php -v /home/nginx/www:/var/www/html -p 9000:9000 -d php:7.4-fpm
docker ps
可查看正在运行的dockerdocker ps -a
查看所有运行的docker
- 运行nginx docker
#--name nginx-test-test: 为容器指定一个名称
#-p 9999:80 主机(宿主)端口:容器端口
#-v /home/nginx/www:/var/www/html:ro 服务器的目录/home/nginx/www绑定的nginx docker网站目录
#-v /home/nginx/conf/conf.d:/etc/nginx/conf.d:ro 服务器的目录/home/nginx/conf/conf.d绑定的nginx docker网站配置目录
#--link=[]: 添加链接到另一个容器 docker-php:docker-php(容器名称:别名) 运行nginx 要关联到 php
docker run --name nginx-test-test -p 9999:80 -d \
-v /home/nginx/www:/var/www/html:ro \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
--link docker-php:docker-php \
nginx:latest
- 运行
docker ps
查看是否运行
浏览器输入 http://127.0.0.1:9999/index.php
命令
-
docker exec -it nginx-test-test /bin/bash 在运行的容器中执行命令
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端 -
docker start/stop/restart docker stop docker-php
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器 -
docker cp 用于容器与主机之间的数据拷贝
docker cp /www/test 96f7f14e99ab:/www/
docker cp 96f7f14e99ab:/www /tmp/ -
docker rm :删除一个或多个容器。
docker rm nginx-test-test -
docker pause :暂停容器中所有的进程。
-
docker unpause :恢复容器中所有的进程。
-
docker inspect : 获取容器/镜像的元数据。
-f :指定返回值的模板文件
-s :显示总的文件大小
–type :为指定类型返回JSON -
docker logs 命令
-f : 跟踪日志输出
–since :显示某个开始时间的所有日志
-t : 显示时间戳
–tail :仅列出最新N条容器日志 -
docker rmi : 删除本地一个或多少镜像
-f :强制删除
–no-prune :不移除该镜像的过程镜像,默认移除