📋 核心要点
- 三步起服务:
docker search nginx查找 →docker pull nginx拉取 →docker run -p 10080:80 -d nginx启动 -p 10080:80把宿主机 10080 端口映射到容器 80 端口,访问http://127.0.0.1:10080- 用
docker cp从容器拷出默认配置,再通过-v挂载本地目录实现配置/网页/日志持久化 - 挂载三要素:
nginx.conf(主配置)、conf.d(站点配置)、www(网页目录)、logs(日志) - 相关:Docker的一些常用操作
命令部署一个 nginx 服务
- 查找 Docker Hub 上的 nginx 镜像(nginx - Official Image | Docker Hub)
❯Bash
docker search nginx- 拉取最新 nginx 镜像
❯Bash
docker pull nginx- 使用 nginx 默认配置启动一个容器实例
❯Bash
docker run --rm --name nginx-test -p 10080:80 -d nginx- 查看 docker 容器是否启动
❯Bash
docker ps-
查看启动效果(注意端口是 10080)
- 浏览器输入
http://127.0.0.1:10080 - 命令行输入
curl http://localhost:10080
- 浏览器输入
nginx 部署时,用本地文件映射到容器
1. 创建目录并从容器拷出默认配置
❯Bash
$ cd /home/nginx
$ mkdir www conf logs
$ docker cp nginx-test:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
$ docker cp nginx-test:/etc/nginx/conf.d /home/nginx/conf/拷贝后目录结构:
❯Bash
/home/nginx
├── www # 网页文件目录
├── conf
│ ├── nginx.conf # 主配置文件
│ └── conf.d # 站点配置目录
└── logs # 日志目录2. 挂载本地目录启动容器
❯Bash
docker run --rm -d -p 10080:80 --name nginx-test \
-v /home/nginx/www:/usr/share/nginx/html \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/logs:/var/log/nginx \
nginx挂载说明:
| 宿主机路径 | 容器路径 | 作用 |
|---|---|---|
/home/nginx/www | /usr/share/nginx/html | 网页根目录 |
/home/nginx/conf/nginx.conf | /etc/nginx/nginx.conf | 主配置 |
/home/nginx/conf/conf.d | /etc/nginx/conf.d | 站点配置 |
/home/nginx/logs | /var/log/nginx | 日志 |