【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):

相关推荐
Lin_Aries_042141 分钟前
基于 CI/CD 平台将应用程序自动部署到 Kubernetes 集群
运维·ci/cd·docker·云原生·容器·kubernetes·jenkins
华农第一蒟蒻5 小时前
谈谈跨域问题
java·后端·nginx·安全·okhttp·c5全栈
神秘人X7076 小时前
Docker 镜像结构详解
运维·docker·容器
编码追梦人14 小时前
探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧
mysql·docker·kubernetes
fire-flyer15 小时前
docker 跨架构兼容
docker·容器
缘的猿15 小时前
Kubernetes 中 ETCD 数据备份与恢复完整指南
容器·kubernetes·etcd
bestcxx16 小时前
(二十七)、k8s 部署前端项目
前端·容器·kubernetes
白白白白熊爱吃麦当劳16 小时前
k8s知识点总结5
docker·容器·kubernetes
K_i13419 小时前
Kubernetes HTTPS迁移:Ingress到GatewayAPI实战
容器·https·kubernetes
zz-zjx19 小时前
TLS全流程 + Nginx HTTPS配置实战 + 会话绑定 vs 复制的架构选型
nginx·架构·https