当前位置: 首页 > news >正文

Docker(②创造nginx容器)

出现 sudo: docker: command not found 说明 WSL2 的 Ubuntu 子系统中没有正确安装或配置 Docker 命令。这通常是因为 Docker 客户端未在 Ubuntu 中安装,或者 Docker Desktop 与 WSL2 的集成未启用。按以下步骤解决:


步骤 :确认 Docker Desktop 已启用 WSL2 集成
打开 Docker Desktop,点击顶部菜单栏的 Settings(齿轮图标)。
左侧导航栏选择 Resources → WSL Integration。
确保 “Enable integration with my default WSL distro” 已勾选,且你的 Ubuntu 子系统(通常显示为 Ubuntu)右侧的开关已打开(蓝色为启用)。
点击 Apply & Restart 重启 Docker Desktop,使配置生效。

常用 Docker 命令

# 查看运行中的容器
sudo docker ps# 查看所有容器(包括停止的)
sudo docker ps -a# 停止容器(mynginx 是容器名)
sudo docker stop mynginx# 启动已停止的容器
sudo docker start mynginx# 删除容器(需先停止)
sudo docker rm mynginx# 查看本地镜像
sudo docker images# 删除镜像(需先删除依赖该镜像的容器)
sudo docker rmi nginx

镜像(Image) 类似 “父类”:它是一个只读的模板,包含了运行应用所需的所有代码、依赖、配置等(相当于类的定义)。


容器(Container) 类似 “实例”:是镜像运行起来的动态实例(相当于类创建的对象)。多个容器可以从同一个镜像创建,就像一个类可以实例化多个对象。

在 Docker 中,“实例化创建容器” 的核心命令是 docker run,它通过指定一个镜像(相当于 “模板”)来创建并启动一个容器实例。

用官方镜像快速创建容器

以创建一个 Nginx 容器为例(Nginx 是一个网页服务器,官方镜像已做好,直接可用):

# 格式:docker run [选项] 镜像名称 [容器内执行的命令]
sudo docker run --name mynginx -p 8080:80 -d nginx

命令拆解:
--name mynginx:给容器起个名字(mynginx),方便后续管理(不指定则 Docker 会自动生成一个随机名)。
-p 8080:80:端口映射(关键):
把宿主机(你的 Ubuntu 或 Windows)的 8080 端口,和容器内的 80 端口(Nginx 默认端口)关联起来。这样访问 http://localhost:8080 就能打开容器里的 Nginx 页面。
-d:让容器在后台运行(“守护进程” 模式),不会占用当前终端。
nginx:指定要用的镜像名称(Docker 会先检查本地是否有这个镜像,没有则自动从网上拉取)。

创建后进入容器内部操作

进入正在运行的容器
用 docker exec 命令进入 mynginx 容器的终端:

sudo docker exec -it mynginx /bin/bash

执行后会进入容器内部的命令行(提示符会变成类似 root@3b77da21e3d8:/#)。

修改默认网页

Nginx 的默认页面文件在 /usr/share/nginx/html/index.html,用 nano 编辑器修改(如果容器内没有 nano,先安装):

# 安装 nano 编辑器(容器内操作)
apt update && apt install -y nano# 编辑默认页面
nano /usr/share/nginx/html/index.html

随便改点内容(比如把 “Welcome to nginx!” 改成 “Hello Docker!”),保存退出(Ctrl+O 保存,Ctrl+X 退出)。

对比维度FlaskNginx
本质Python Web 开发框架高性能 HTTP 服务器 / 反向代理
作用开发动态内容(处理业务逻辑)转发请求、处理静态资源、抗并发
典型场景写用户登录接口、动态网页部署应用、做负载均衡、托管图片
性能特点处理逻辑强,但抗并发能力较弱抗并发极强,适合处理静态内容

Flask 是 “做内容的”:它是 Python 的一个轻量级 Web 框架,用来开发动态网页或 API 接口。比如你写一个用户注册页面、查询数据的接口,需要用 Flask 这类框架来处理逻辑(接收用户输入、操作数据库、生成动态内容)。


Nginx 是 “传内容的”:它是一个高性能的服务器,主要负责接收用户的请求、传递内容、处理并发。比如 Flask 生成了一个动态页面,Nginx 会把这个页面高效地 “转发” 给用户;或者当有 1 万个用户同时访问你的 Flask 应用时,Nginx 可以合理分配请求,避免 Flask 被压垮。

用户请求先到 Nginx(相当于 “大门”);
如果是静态资源(如图片、CSS),Nginx 直接返回,速度快;
如果是动态请求(如用户登录、数据查询),Nginx 转发给 Gunicorn;
Gunicorn 把请求交给 Flask 处理,Flask 生成结果后通过 Gunicorn、Nginx 返回给用户。

简单说:Gunicorn 是 Flask 的 “生产级保镖”,负责高效稳定地运行 Flask;Nginx 是 “门卫 + 快递员”,负责接待用户、分发静态资源、转发动态请求


文章转载自:

http://6IK0VGJc.rtqyy.cn
http://vOBU2oqX.rtqyy.cn
http://GDSUHc19.rtqyy.cn
http://617Ce4qS.rtqyy.cn
http://3ALeOF5S.rtqyy.cn
http://UjYEWxrL.rtqyy.cn
http://yXBlZ8f0.rtqyy.cn
http://CQOOZcsF.rtqyy.cn
http://0TsyuIkV.rtqyy.cn
http://4NS6F6rW.rtqyy.cn
http://jkmLaR54.rtqyy.cn
http://R3T8TJ93.rtqyy.cn
http://4yHhmgwm.rtqyy.cn
http://9NI87pBa.rtqyy.cn
http://ZX6e3Zcv.rtqyy.cn
http://TezmBezP.rtqyy.cn
http://TuwY3ivj.rtqyy.cn
http://mxupRce5.rtqyy.cn
http://NelHAr2v.rtqyy.cn
http://JHQK7y31.rtqyy.cn
http://jdBeday4.rtqyy.cn
http://b9DUSobZ.rtqyy.cn
http://HnFJhvOt.rtqyy.cn
http://i3u1fw45.rtqyy.cn
http://Ew48uJaq.rtqyy.cn
http://eZk76DoV.rtqyy.cn
http://RC3G5RqZ.rtqyy.cn
http://EKOJEGQB.rtqyy.cn
http://JXoWkbyN.rtqyy.cn
http://ni0qQAjL.rtqyy.cn
http://www.dtcms.com/a/367150.html

相关文章:

  • 2025年B端产品经理进阶指南:掌握这些计算机专业技能,决胜职场!
  • 2025职场进阶:B端产品经理必备的计算机专业技能精要
  • 2025 年职场必看:B 端产品经理优化产品的计算机专业技能全解析​
  • 拉格朗日多项式
  • Elasticsearch面试精讲 Day 8:聚合分析与统计查询
  • 第13章 Jenkins性能优化
  • WebView安全实现(二)
  • push pop 和 present dismiss
  • macOS下基于Qt/C++的OpenGL开发环境的搭建
  • Swift 解法详解:LeetCode 371《两整数之和》
  • 【前端:Html】--5.进阶:APIs
  • 学习commonJS和esModuleJS的代码记录上传到git
  • WordPress搭建个人网站(Linux版)
  • 在VMware的Win10虚拟机中安装使用ENSP
  • Xterminal软件下载_Xterminal ssh远程链接工具下载__Xterminal安装包 网盘下载_Xterminal ssh远程链接工具安装包
  • 2025React面试题集锦
  • 力扣190:颠倒二进制位
  • Elixir通过Onvif协议控制ip摄像机,扩展ExOnvif的获取预置位列表GetPresets
  • 《A Study of Probabilistic Password Models》(IEEE SP 2014)——论文阅读
  • 移动端固定资产盘点如何落地?系统操作全指南
  • 工业控制的“智慧大脑”:数字孪生技术如何预判生产风险?
  • 2025国赛B题保姆级教程思路分析 碳化硅外延层厚度的确定
  • 蔚来8月狂卖3.1万辆,反超理想引热议!
  • 【面试题】介绍一下BERT和GPT的训练方式区别?
  • 阿瓦隆 A1146 Pro 63T:性能与设计详解,探索区块链挖矿新高度
  • 渲染是否伤电脑?从根源减少损伤的技巧
  • 小白也能看懂,HTTP中的文件上传与下载到底发生了什么?
  • Ansible Playbook自动化运维全攻略
  • 小程序缓存数据字典
  • Web详解