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

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

相关推荐
wepe1211 分钟前
FlyEnv---phpstudy平替
java·python·mysql·nginx·php
irisart28 分钟前
第二章【NGINX 开源功能】—— HTTP 服务器(下)
nginx·http·开源
石像鬼₧魂石8 小时前
内网渗透靶场实操清单(基于 Vulhub+Metasploitable 2)
linux·windows·学习·ubuntu
bloglin9999910 小时前
启动容器报错ls: cannot access ‘/docker-entrypoint-initdb.d/‘: Operation not permitted
docker·容器·eureka
Evan芙12 小时前
搭建nexus服务,实现本地仓库、代理仓库
java·nginx·tomcat
yBmZlQzJ12 小时前
免费内网穿透-端口转发配置介绍
运维·经验分享·docker·容器·1024程序员节
JH307312 小时前
docker 新手入门:10分钟搞定基础使用
运维·docker·容器
秋田君13 小时前
前端工程化部署入门:Windows + Nginx 实现多项目独立托管与跨域解决方案
前端·windows·nginx
天河归来13 小时前
在本地windows电脑使用Docker搭建xinference环境
docker·语言模型·容器