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

相关推荐
猫吃了源码5 小时前
k9s简介和安装
linux·docker·kubernetes
云原生指北6 小时前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
ziyun6668887 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
heimeiyingwang8 小时前
【架构实战】Kubernetes故障排查全景图:从Pod异常到集群雪崩的诊断手册
容器·架构·kubernetes
骇客野人9 小时前
Docker Compose 部署多个独立 Jar 服务完整实操步骤
docker·容器·jar
AAA@峥9 小时前
K8s 资源管控:ResourceQuota 与 LimitRange 机制详解与实战
云原生·容器·kubernetes
daoihfoaf9 小时前
太原助听器品质甄选
容器
云川之下11 小时前
【k8s】Docker inspect 命令
docker·容器·kubernetes
猫吃了源码12 小时前
CentOS7使用Kubeadm安装部署K8s(Kubernetes)最新稳定版本1.26.x
云原生·容器·kubernetes
骇客野人12 小时前
基于Nginx+Eureka+Apollo+Jenkins+SpringBoot Web系统分布式部署方案
nginx·eureka·jenkins