【Docker】在Windows下使用Docker Desktop创建nginx容器并访问默认网站

欢迎来到《小5讲堂》,大家好,我是全栈小5。
这是《Docker容器》序列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • 安装nginx
    • 命令操作
    • 完成安装
    • 查看站点
    • 访问站点
  • 端口号说明
  • 相关文章

前言

前几篇Docker相关文章,已经介绍了什么是docker以及它在Windows操作系统下安装的安装和配置。
本篇文章主要介绍如何在docker desktop管理工具使用nginx进行网站部署和运行。

安装nginx

命令操作

查看Docker版本,确保已经安装了Docker,不过安装了Docker Desptop肯定是安装了Docker了

docker --version

在这里插入图片描述

打开Docker Desptop图形管理工具,创建一个容器来部署网站。
一般可以通过Docker Hub下载已经制作好的镜像,或者自己创建一个镜像。

  • 下面就是使用命令创建一个Nginx容器
命令说明:docker run -d --name 容器名 -p 宿主机端口:容器端口 nginx
无效命令:docker run -d --name web_nginx -p 8001:8001 nginx
有效命令:docker run -d --name web_nginx -p 8001:80 nginx
  • 端口号无效
    在这里插入图片描述

完成安装

在这里插入图片描述
返回管理工具能够看到如下界面信息,说明已经成功安装了web服务器容器nginx

  • 镜像列表
    在这里插入图片描述
  • 状态消息
    在这里插入图片描述

查看站点

成功安装nginx容器,默认情况下会有一个站点,点开路径:Files > usr > share > nginx > html > index.html
在这里插入图片描述

访问站点

在上面创建镜像容器时,就已经指定了端口号,所以直接在浏览器输入如下路径即可访问
http://localhost:8001

  • 第一次访问不通
    在这里插入图片描述
  • 查看运行状态

docker ps

在这里插入图片描述

  • 第二次访问成功

这里做了一个调整,需要理解8001:8001这两个端口号的意思,左边端口号是宿主机端口,右边是容器端口号,由于容器里默认只设置了一个80端口,
所以第一次创建8001:8001这个端口号映射是不对的,也无法访问到的。因此将之前容器删除,再创建一个8001:80,就能够通过下面访问访问到。
在这里插入图片描述
在这里插入图片描述

  • 再次确认访问路径

通过修改如下文件,再刷新页面,可以确认就是此处的站点在这里插入图片描述

端口号说明

在Docker的容器端口映射中,使用冒号(:)来指定宿主机和容器的端口映射关系。

对于命令docker run -d --name web_nginx -p 8001:8001 nginx,其中的8001:8001表示将宿主机的8001端口映射到容器内的8001端口。这样,在宿主机上访问宿主机的8001端口时,实际上会被映射到容器内的8001端口上。

如果只写一个端口号而没有冒号分隔,则表示将宿主机和容器的端口号保持一致。例如,-p 8001表示将宿主机的8001端口映射到容器内的同样的8001端口。

由于首次安装nginx时,容器内默认只有80端口,所以,正确的命令应该是docker run -d --name web_nginx -p 8001:80 nginx

相关文章

【Docker】在Windows操作系统安装Docker前配置环境
【Docker】从Logo开始了解什么是docker
【Docker】可以将TA用于什么,简单了解下
【Docker】在Windows操作系统上安装Docker
【Docker】WSL(Windows Subsystem for Linux)常见命令解释说明以及简单使用

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

布局技巧及CSS初始化

一,margin负值巧妙应用 二,文字围绕浮动元素 三,行内块 四,CSS三角强化 五,CSS初始化 一,margin负值巧妙应用 制作盒子的细线边框: 鼠标经过li后变色: 二,文字围绕…

Spring 启动过程 解析配置类

博文目录 文章目录 内容总结refresh - invokeBeanFactoryPostProcessorConfigurationClassPostProcessor - postProcessBeanDefinitionRegistryConfigurationClassParser - parse部分工具用法说明大致流程 内容总结 refresh - invokeBeanFactoryPostProcessor Spring 启动过…

Redis缓存穿透、缓存击穿、缓存雪崩的解决方案

一、背景 不管是实际工作还是面试,这3个问题都是非常常见的,今天我们就好好探讨一下这个三个问题的解决方案 三者的区别: 缓存穿透:查询缓存和数据库都不存在的数据,缓存没有,数据库也没有 缓存击穿&#…

【面试真题】Javascript 实现多条件过滤数组

场景: 有这么一个数组 [{a,123,b:345,c:456,d:t12},{a,234,b:345,c:thf2,d:t12}], 现在希望能够通过逗号分隔搜索值的输入方式,从数组中过滤出模糊匹配的数组元素。 解析: 可以使用 JavaScript 的 filter 函数和 indexOf 函数来实现这个功…

[经典面试题]169. 多数元素

题目描述 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出:3…

Java入门高频考查基础知识8(腾讯18问1.5万字参考答案)

刷题专栏:http://t.csdnimg.cn/gvB6r Java 是一种广泛使用的面向对象编程语言,在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性,适用于多种应用场景,包括企业应用、移动应用、嵌入式系统等。 以下是几个面试技巧&…

使用AKStream对接gb28181

优点:功能比较多,C#开发的,容易修改,内嵌入了zlmk流媒体服务品,启动简单 缺点:sip对摄像头兼容还有问题,大华接入非常不稳定,注册等待时间久,对海康是正常,占…

Android 12.0 监听手机飞行模式

1. 判断当前手机飞行模式是否开启 /*** * param context* return true:飞行模式开启; false:飞行模式关闭*/ public boolean airplaneMode(Context context) {return (Settings.Global.getInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) 1);}2. 接…

IntelliJ Idea实用插件推荐

目录 一、插件安装 二、常用插件 A、代码规范 Alibaba Java Coding Guidelines SonarLint B、快捷开发 aiXcoder-AI代码生成 AWS Toolkit-AI代码生成 CodeGeeX-AI代码生成 CodeGlance-代码缩略图 camelCase-格式转换 GsonFormatPlus-json代码生成 Sequence Giagram…

LeetCode第606题 - 根据二叉树创建字符串

题目 解答 class Solution {public void preorder(TreeNode node, StringBuilder sb) {if (node null) {return;}sb.append(node.val);if (node.left null && node.right null) {return;}sb.append("(");preorder(node.left, sb);sb.append(")&quo…

UE4 CustomDepthMobile流程小记

原生UE opaque材质中获取CustomDepth/CustomStencil会报错 在其Compile中调用的函数中没有看到报错逻辑 材质节点的逻辑都没有什么问题,所以看一下报错 在HLSLMaterialTranslator::Translate中 修改之后 mobile流程的不透明材质可以直接获取SceneTexture::customd…

聚焦AI新动能,九州未来与燧弘华创签约!

1月24日,厦门市电子信息与人工智能产业高质量发展大会成功举办。来自电子信息产业、人工智能领域的企业家、专家等近300位嘉宾齐聚一堂,共谋智能基础,共话产业合作,共享发展商机。 会上,九州未来与燧弘华创签署算力租…

什么是XAI

可解释性AI(XAI) 可解释性AI(XAI)旨在提高人工智能系统的透明度和可理解性,使人们更好地理解AI的决策过程和原理。随着AI技术的广泛应用,XAI成为了一个备受关注的重要领域。它不仅有助于建立人们对AI的信任…

anaconda离线安装包的方法

当设备没有网络时,可以使用有网络的设备先下载所需安装包,然后离线拷贝到需要安装的设备,最后安装。 一. 下载所需安装包 下载命令:使用pip download。详细描述参见pip download -h 以"blind-watermark"为例。 pip …

​学者观察 | 区块链技术理论研究与实践观察——中央财经大学朱建明

导语 当下区块链研究成果质量越来越高,技术应用越来越成熟。在现阶段的研究中存在哪些短板需要弥补,如何将研究成果转化为推动数字经济高质量发展的实际应用,区块链技术与其他新技术结合发展将带来哪些新的机遇? 中央财经大学朱…

eduSRC那些事儿-3(命令执行类+越权逻辑类)

点击星标,即时接收最新推文 本文对edusrc挖掘的部分漏洞进行整理,将案例脱敏后输出成文章,不包含0DAY/BYPASS的案例过程,仅对挖掘思路和方法进行相关讲解。 命令执行类 St2命令执行 在电量查询手机管理平台,观察到.do或…

大坑!react+thress.js

2. UI交互界面与Canvas画布叠加 | Three.js中文网 (webgl3d.cn) // canvas画布绝对定位 renderer.domElement.style.position absolute; renderer.domElement.style.top 0px; renderer.domElement.style.left 0px; renderer.domElement.style.zIndex -1; 我按照教程设置了…

不看后悔之JavaEE Web开发预备知识篇:HTML5、CSS3与JavaScript前端三剑客——搭建企业级应用的基石

引言 在JavaEE企业级Web开发中,HTML5、CSS3和JavaScript作为前端技术的核心力量,为构建高性能、高交互的企业应用程序提供了不可或缺的基础支撑。本文将详尽探讨这三种技术在JavaEE环境下的基本概念、核心功能以及最佳实践,助你顺利开启Java…

Golang的数字签名之旅:crypto/ecdsa库详解

Golang的数字签名之旅:crypto/ecdsa库详解 引言crypto/ecdsa库概览基本功能安装和设置使用场景 ECDSA原理简介椭圆曲线密码学基础ECDSA的工作原理安全性考虑 Golang中ECDSA的实现密钥生成数字签名签名验证 crypto/ecdsa的高级应用性能优化安全性考虑实际应用案例 总…

Python列表中的extend功能及用法举例

Python列表中的extend功能及用法举例 🌵文章目录🌵 🌳引言🌳🌳extend()🌳🍀功能介绍🍀🍀语法🍀🍀示例🍀🍀注意事项&#x…