极客Docker学习笔记在容器中部署静态网站(4)

设置容器的端口映射

docker run -pP
	-P,--publish-all=true|false 默认是false
		docker run -P -it ubuntu /bin/sh
	-p,--publish=[]
containerPort#只指定容器的端口,宿主机端口随机映射
	docker run -p 80 -it ubuntu /bin/sh
hostPort:containerPort#同时指定宿主机端口和容器端口
	docker run -p 8080:80 -it ubuntu
ip::containerPort#指定ip和容器端口
	docker run -p 0.0.0.0::80 -it ubuntu /bin/sh
ip:hostPort:containerPort#指定ip,宿主机端口和容器端口
	docker run -p 0.0.0.0:8080:80 -it ubuntu /bin/sh

Nginx部署流程

  • 创建映射80端口的交互式容器
  • 安装Nginx
  • 安装vim
  • 创建静态页面
  • 修改Nginx配置文件
  • 运行Nginx
  • 验证网站访问
docker run -p 80 --name=web -it ubuntu /bin/sh
apt-get update
apt-get install -y nginx
apt-get install -y vim
mkdir -p /var/www/html
cd /var/www/html
vim index.html
	<html>
	<head>
		<title>Nginx in docker</title>
	</head>
	<body>
		<h1>Hello,I'm website in docker.</h1>
	</body>
	</html>
where nginx
vim /etc/nginx/sites-enabled/defalut
	server{root /var/www/html;}
cd /
nginx
ps -ef#查看进程
ctrl + pq#退出bash并保持后台运行
docker ps
docker port web
docker top web
#使用主机的ip地址来访问
curl http://127.0.0.1:49163
#成功就返回主页值
#使用容器ip来访问
docker inspect web
	IPAddress "x.x.x.0"
curl http://x.x.x.0	
docker stop web
docker start -i web
ps -ef
#重新启动的容器中没有运行Nginx
ctrl+pq
docker exec web nginx
docker top web
curl http://x.x.x.0
#无法访问
docker inspect web
	IPAddress x.x.x.1
	Ports{80/tcp:{HostPort:49169(changed)}}
#当重启一个容器时,原来的ip和端口映射都会发生改变
curl http://x.x.x.1
#成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值