docker 部署 nginx
时间: 2023-11-13 16:03:19 浏览: 105
docker部署nginx
5星 · 资源好评率100%
要使用Docker部署Nginx,可以使用以下三种方法:
1. 直接拉取Nginx镜像并运行容器,将页面放入宿机(镜像)中的Nginx中:
```docker
docker pull nginx
docker run -p 8080:80 -v /opt/testNginx/testHtml:/usr/share/nginx/html -d nginx
```
其中,`-p`参数将容器的80端口映射到宿主机的8080端口,`-v`参数将宿主机中的`/opt/testNginx/testHtml`目录挂载到容器中的`/usr/share/nginx/html`目录,使得Nginx可以访问宿主机中的静态资源。
2. 创建宿主机配置文件相关目录,并将Nginx配置文件挂载到容器中:
```docker
mkdir docker
mkdir nginx
mkdir conf
mkdir conf.d
mkdir data
mkdir logs
```
其中,`conf.d`目录存放Nginx的配置文件,`data`目录存放静态资源,`logs`目录存放Nginx的日志。
创建Nginx配置文件`nginx.conf`,并将其挂载到容器中:
```docker
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
```
然后运行容器:
```docker
docker run -p 8080:80 -v /opt/testNginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /opt/testNginx/data:/usr/share/nginx/html -v /opt/testNginx/logs:/var/log/nginx -d nginx
```
其中,`-v`参数将宿主机中的`/opt/testNginx/conf/nginx.conf`文件挂载到容器中的`/etc/nginx/nginx.conf`文件,将宿主机中的`/opt/testNginx/data`目录挂载到容器中的`/usr/share/nginx/html`目录,将宿主机中的`/opt/testNginx/logs`目录挂载到容器中的`/var/log/nginx`目录。
3. 使用Docker Compose进行部署,创建`docker-compose.yml`文件:
```docker
version: '3'
services:
nginx:
image: nginx
ports:
- "8080:80"
volumes:
- ./conf/nginx.conf:/etc/nginx/nginx.conf
- ./data:/usr/share/nginx/html
- ./logs:/var/log/nginx
```
然后运行`docker-compose up`命令即可启动Nginx容器。
阅读全文