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

相关推荐
bloglin999994 小时前
启动容器报错ls: cannot access ‘/docker-entrypoint-initdb.d/‘: Operation not permitted
docker·容器·eureka
songjxin5 小时前
离线部署kubernetes v1.34.3
云原生·容器·kubernetes
Evan芙6 小时前
搭建nexus服务,实现本地仓库、代理仓库
java·nginx·tomcat
yBmZlQzJ6 小时前
免费内网穿透-端口转发配置介绍
运维·经验分享·docker·容器·1024程序员节
JH30736 小时前
docker 新手入门:10分钟搞定基础使用
运维·docker·容器
秋田君7 小时前
前端工程化部署入门:Windows + Nginx 实现多项目独立托管与跨域解决方案
前端·windows·nginx
天河归来7 小时前
在本地windows电脑使用Docker搭建xinference环境
docker·语言模型·容器
算力魔方AIPC8 小时前
使用 Docker 一键部署 PaddleOCR-VL: 新手保姆级教程
运维·docker·容器
熊出没8 小时前
Kubernetes 实操命令大全
云原生·容器·kubernetes
Evan芙8 小时前
nginx核心配置总结,并实现nginx多虚拟主机
运维·数据库·nginx