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