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

欢迎来到《小5讲堂》,大家好,我是全栈小5。

这是《Docker容器》序列文章,每篇文章将以博主理解的角度展开讲解,

特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。

温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

目录

前言

前几篇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)常见命令解释说明以及简单使用

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

相关推荐
深海的鲸同学 luvi35 分钟前
【HarmonyOS NEXT】hdc环境变量配置
linux·windows·harmonyos
@泽栖4 小时前
Docker 常用命令
运维·服务器·docker
鲁正杰6 小时前
在一个服务器上抓取 Docker 镜像并在另一个服务器上运行
运维·服务器·docker
老大白菜7 小时前
Windows 11 安装 Dify 完整指南 非docker环境
windows·docker·容器
VinciYan10 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
python·ubuntu·docker·自动化·jenkins·.net·运维开发
ue星空11 小时前
Windbg常用命令
windows
tntlbb11 小时前
Ubuntu20.4 VPN+Docker代理配置
运维·ubuntu·docker·容器
Gabriel_liao12 小时前
Docker安装Neo4j
docker·容器·neo4j
苹果醋314 小时前
Golang的文件加密工具
运维·vue.js·spring boot·nginx·课程设计
豆豆豆豆变15 小时前
Docker轻量级可视化工具Portainer
docker·容器·自动化运维