docker + nginx部署静态html页面(访问异常处理)

  • Post author:
  • Post category:其他




下载docker

[root@VM_0_16_centos /]#  curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun



创建映射80端口的交互式容器

[root@VM_0_16_centos /]# docker run -it  -p 80 --name webtest centos /bin/bash



安装nginx

[root@0e4e7a6ad4a5 /]# yum -y install nginx



安装vim

[root@0e4e7a6ad4a5 /]# yum -y install vim



编写静态页面

[root@0e4e7a6ad4a5 /]# mkdir -p /var/www/html
[root@0e4e7a6ad4a5 /]# cd /var/www/html
[root@0e4e7a6ad4a5 /]# vim index.html

index.html 内容:

点击

i

键进入输入模式

<html>
<head>
        <title>Nginx in docker</title>
</head>
<body>
        <h1>this is my docker</h1>
</body>
</html>


Esc


Shift + :


wq

保存并退出vim



修改nginx配置文件

找到nginx在哪

[root@0e4e7a6ad4a5 /]# whereis nginx

在这里插入图片描述

编辑配置文件

[root@0e4e7a6ad4a5 /]# cd /etc/nginx
[root@0e4e7a6ad4a5 /]# vim nginx.conf

在这里插入图片描述

保存并退出



启动nginx

在centos7.4 之后直接nginx就可以直接启动nginx

在这里插入图片描述



退出docker


Ctrl+P


Ctrl+Q

退出但不关闭容器



查看映射端口

在这里插入图片描述

webtest是你的docker容器名

  • 用localhost:+端口号方式访问
  • 如果是自己的服务器可以通过服务器ip+端口号的方式在浏览器中访问

    在这里插入图片描述
  • 如果是虚拟机首先查看虚拟机ip

    在这里插入图片描述

    然后再浏览器中用虚拟机ip + 端口号的方式也可访问

    在这里插入图片描述



异常处理

在这里插入图片描述

出现这种问题可以通过重设网卡解决

#停止docker
systemctl stop docker
#docker0
ip link set dev docker0 down
#安装brctl工具
yum install -y bridge-utils
#删除docker0网桥
brctl delbr docker0
#增加docker0 网桥
brctl addbr docker0
#增加网卡
ip addr add 172.16.10.1/24 dev docker0
#启用网卡
ip link set dev docker0 up
#重启docker服务
systemctl restart docker
#重启docker容器
docker start [容器名]
#进入容器
docker attach [容器名]
#开启nginx
nginx
#退出容器
ctrl+P ctrl+Q



注意事项

每次将docker关闭后,下一次开启所映射的端口号会发生改变

在这里插入图片描述

如果用exit退出了docker可以使用


docker start [容器名] 启动容器



docker attach [容器名] 进入容器

关闭容器服务


systemctl stop docker


启动容器服务


systemctl start docker

在docker中立即停止nginx


nginx -s stop


在docker中从容停止nginx (等进程结束后)


nginx -s quit



版权声明:本文为lovingcgq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。