【Docker-Nginx】通过Docker部署Nginx容器

前提条件

  1. Linux 系统已安装 Docker
  2. Windows 与 Linux 处于同一局域网(或可通过网络互通)
  3. 知道 Linux 的 IP 地址(可通过ifconfigip addr命令查看)

安装步骤

1. Docker 安装

首先检查系统是否已安装 Docker:

如果未安装,请先安装 Docker:

bash 复制代码
# Ubuntu/Debian系统
sudo apt update
sudo apt install docker.io -y

# CentOS/RHEL系统
sudo yum install docker -y

# 启动Docker服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

2. 简单运行Nginx容器

bash 复制代码
docker run --name mynginx -p 80:80 -d nginx

3. 部署带有自定义配置的 Nginx 容器

bash 复制代码
# 创建本地目录用于存放Nginx配置、网站文件和日志
mkdir -p ~/nginx/{conf,conf.d,html,logs}

# 从容器中复制默认配置文件到本地
docker run --rm nginx:latest cat /etc/nginx/nginx.conf > ~/nginx/conf/nginx.conf
docker run --rm nginx:latest cat /etc/nginx/conf.d/default.conf > ~/nginx/conf.d/default.conf

# 创建一个测试HTML文件
echo "<h1>Hello, Nginx with Docker!</h1>" > ~/nginx/html/index.html

启动带有挂载目录的 Nginx 容器:

bash 复制代码
docker run -d \
  --name mynginx \
  -p 80:80 \
  -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
  -v ~/nginx/conf.d:/etc/nginx/conf.d \
  -v ~/nginx/html:/usr/share/nginx/html \
  -v ~/nginx/logs:/var/log/nginx \
  --restart always \
  nginx:latest

4. 管理 Nginx 容器的常用命令

bash 复制代码
# 查看容器运行状态
docker ps

# 停止容器
docker stop mynginx

# 启动容器
docker start mynginx

# 重启容器
docker restart mynginx

# 查看容器日志
docker logs mynginx

# 进入容器内部
docker exec -it mynginx /bin/bash

# 删除容器(需要先停止)
docker rm mynginx

5. 更新 Nginx 配置

当需要修改 Nginx 配置时,只需修改本地~/nginx/conf.d目录下的配置文件,然后重启容器即可:

bash 复制代码
docker restart mynginx

6. 查看运行状态

7. Windows访问Nginx

输入ifconfig或ip addr查看虚拟机地址

浏览器输入访问地址和端口(默认80):

相关推荐
正经教主11 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
小黑蛋学java11 小时前
Nginx 接口耗时 Prometheus + Grafana 监控实施方案
运维·nginx·负载均衡·grafana·prometheus
鹤鸣的日常12 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
IVEN_12 小时前
记一次诡异的前端白屏故障:Nginx Proxy Cache 内存缓存"幽灵"事件
前端·nginx
我是谁??15 小时前
ubuntu22.04 通过docker部署vLLM(Qwen3-0.6B)大模型+New API+OpenWebUI
docker·容器·vllm
运维瓦工16 小时前
DevOps 生态介绍(十):Docker Compose 核心 YAML 配置详解与常用命令大全
spring cloud·docker·容器
云烟成雨TD16 小时前
Spring AI 1.x 系列【59】容器化开发支持:Docker Compose 与 Testcontainers
人工智能·spring·docker
Plastic garden16 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
与海boy17 小时前
docker compose minio
docker·容器·eureka
Adorable老犀牛17 小时前
nginx_exporter:Prometheus 监控 Nginx 基础指标
运维·nginx·prometheus