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地址和端口会改变

原文地址:https://www.cnblogs.com/xietianjiao/p/11282728.html