Docker学习のDocker中部署静态页网站

 

前言:部署一个静态页网站,我们需要

  • 常见映射80端口的交互式容器
  • 安装Nginx(或其他服务器)
  • 安装文本编辑器vim
  • 创建静态页面
  • 修改Ngnix的配置文件
  • 运行Ngnix
  • 验证网站的防高温

一、设置容器的端口映射

访问网站需要开放端口,因此需要设置端口映射,docker的映射命令是:

run [-P][-p]

-P(大写)会对容器所有暴露的端口进行映射,-p可以指定映射的端口

命令形式:

  • ContainerPort(只指定容器的端口,主机的随机映射)

docker run -p 80 -i -t ubuntu /bin/bash

  • hostPort :containerport(指定宿主机和容器的端口)

docker run -p 8080:80 -i -t ubuntu /bin /bash

  • ip:containerPort(容器的ip和容器的端口)

docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash

  • ip:hostPort:containerPort(容器的ip 宿主机端口 容器端口)

docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

三、创建

        创建docker容器  dcoker run -p 80 --name web -i-t ubuntu /bin/bash

        安装nginx             apt-get install -y nginx      如果提示 unale to get list 我们sudo apt-get update更新下再安装

        安装vim                 apt-get install -y nginx

        创建目录                mk dir -p var/www/html     cd var/www/html  然后vim 一个index.html

        查看nginx的位置    whereis nginx

  查看nginx的文件的位置 ls /etc/nginx

打开default文件,修改root的位置为刚才创建网站的位置root /var/www/html;cd / 切换到根目录,输入nginx运行,ps -ef查看是否在运行

        然后ctrl+p,ctrl+q退出容器,查看此容器

  curl查看

  以上是宿主主机访问,我们docker inspect web查看容器的ip地址为

 

  

  访问成功

四、ip和端口问题

       docker stop web    命令停止

       docker start -i web 重新开始进入我们发现nginx没有运行(没有-i情况不会进入docker容器,而是在虚拟机)

  此时可以在内部输入nginx打开nginx服务器,也可以在外部docker exec web nginx启动

  查看docker top web查看容器中的进程,发现ip地址和端口都不一样了

说明:容器重新启动,IP地址和端口会改变

posted @   卖雨伞的小男孩  阅读(2139)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示