Docker从入门到实践(四)
Docker——入门实战(四)
VI. 案例:在容器中部署静态网站
容器的端口映射
命令:run [-P] [-p]
-P,–publish-all=true | false,大写的P表示为容器暴露的所有端口进行映射;
-p,–publish=[],小写的p表示为容器指定的端口进行映射,有四种形式:
l containerPort:只指定容器的端口,宿主机端口随机映射;
l hostPort:containerPort:同时指定容器与宿主机端口一一映射;
l ip::containerPort:指定ip和容器的端口;
l ip:hostPort:containerPort:指定ip、宿主机端口以及容器端口。
例如:
docker run -p 80 -i -t ubuntu /bin/bash
docker run -p 8080:80 -i -t ubuntu /bin/bash
docker run -p 0.0.0.0::80 -i -t ubuntu /bin/bash
docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
容器中部署Nginx服务
准备环境:
# 1. 创建映射80端口的交互式容器
docker run -p 80 --name web -i -t ubuntu /bin/bash
# 2. 更新源
apt-get update
# 3. 安装Nginx
apt-get install -y nginx
# 4. 安装Vim
apt-get install -y vim
创建静态页面:
mkdir -p /var/www/html
cd /var/www/html
vim index.html
修改Nginx配置文件:
# 查看Nginx安装位置
whereis nginx
# 修改配置文件
vim /etc/nginx/sites-enabled/default
运行Nginx:
# 启动nginx
nginx
# 查看进程
ps -ef
验证网站访问:
# 退出容器
Ctrl+P Ctrl+Q
# 查看容器进程
docker top web
# 查看容器端口映射情况
docker port web
通过宿主机地址加映射端口访问: