【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后变色: 二,文字围绕…

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

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

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

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

使用AKStream对接gb28181

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

IntelliJ Idea实用插件推荐

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

UE4 CustomDepthMobile流程小记

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

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

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

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; 我按照教程设置了…

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

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

掌握 Android JNI 基础

写在前面 最近在看一些底层源码,发现 JNI 这块还是有必要系统的看一下,索性就写一写博客,加深加深印象🍻 本文重点聊一聊一些干货,避免长篇大论 JNI 概述 JNI 是什么? 定义:Java Native In…

用GPT写PHP框架

参考https://www.askchat.ai?r237422 写一个mvc框架 上面是简单的案例,完整的PHP框架,其核心通常包含以下几个关键组件: 1. 路由(Routing):路由组件负责解析请求的URL,并将其映射到相应的控制…

Kotlin快速入门系列9

Kotlin对象表达式和对象声明 对象表达式 有时,我们想要创建一个对当前类有些许修改的对象同时又不想重新声明一个子类。如果是Java,可以用匿名内部类的概念来解决这个问题。kotlin的对象表达式和对象声明就是为了实现这一点(创建一个对某个类做了轻微改…

使用Mysql实现Postgresql中窗口函数row_number的功能

1. 描述 需要根据用户id,查询每个人得分第二高的科目信息 2. 表结构及数据 2.1 表结构 CREATE TABLE t_score (id bigint(20) NOT NULL AUTO_INCREMENT,user_id bigint(20) NOT NULL,score double NOT NULL,subject varchar(100) NOT NULL,PRIMARY KEY (id) ) E…

在 Amazon EKS 上部署生成式 AI 模型

导言 生成式 AI 正在改变企业的运作方式,并加快创新的步伐。总体而言,人工智能正在改变企业利用技术的方式。生成式 AI 技术包括微调和部署大型语言模型(LLM),并允许开发人员访问这些模型以执行提示和对话。负责在 Kub…

【String、StringBuffer和StringBuilder的区别及使用场景】

String、StringBuffer和StringBuilder的区别及使用场景 1. String类是不可变的,一旦创建,就不能修改。每次对String进行操作(如拼接、替换等),实际上是创建了一个新的String对象。由于String的不可变性,频繁…

使用 Python 的 Matplotlib 库来绘制简单的爱心图案

import matplotlib.pyplot as plt import numpy as npt np.linspace(0, 2*np.pi, 100) x 16 * np.sin(t)**3 y 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)plt.plot(x, y, r) plt.axis(equal) plt.fill(x, y, r) plt.show()这段代码首先导入了 Matpl…

【java中如何避免死锁及其分析和解决多线程环境下的死锁问题】

java中如何避免死锁及其分析和解决多线程环境下的死锁问题 死锁是在多线程环境中经常遇到的一种问题,可以通过以下方法来避免和解决死锁问题:死锁是多线程环境下常见的问题,它发生在两个或多个线程等待对方释放资源的情况下。为了避免死锁&am…