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

相关推荐
喜欢你,还有大家2 小时前
Nginx服务——安装与搭建
java·服务器·nginx
Dontla2 小时前
Docker Compose healthcheck介绍(监控容器中服务的实际健康状态)数据库健康检查pg_isready
数据库·docker·容器
HeXDev3 小时前
【Docker】一键将运行中的容器打包成镜像并导出
运维·docker·容器
有谁看见我的剑了?4 小时前
k8s-临时容器学习
学习·容器·kubernetes
milo.qu4 小时前
ubuntu22.04 安装Docker
linux·运维·docker
The_Second_Coming4 小时前
容器应用学习笔记:containerd 篇
运维·笔记·学习·容器·containerd
lllsure4 小时前
【Docker】镜像
java·spring cloud·docker
悠悠海风4 小时前
解决docker配置了镜像源但还会拉取官方镜像源的问题
docker
一个帅气昵称啊4 小时前
Docker命令大全:从基础到高级实战指南
docker·容器·eureka·架构·.net