----------------知识点------------
容器的端口映射:
docker run [-P] [-p]
-P,–publish-all=true | false,大写的P表示为容器暴露的所有端口进行映射
-p,–publish=[],小写的p表示为容器指定的端口进行映射,有四种形式
----containerPort:只指定容器的端口,宿主机端口随机映射
----hostPort:containerPort:同时指定容器与宿主机端口一一映射
----ip::containerPort:指定ip和容器的端口
----ip:hostPort:containerPort:指定ip、宿主机端口以及容器端口
例如:
docker run -p 80 -i -t centos /bin/bash
docker run -p 8080:80 -i -t centos /bin/bash
docker run -p 0.0.0.0::80 -i -t centos /bin/bash
docker run -p 0.0.0.0:8080:80 -i -t centos /bin/bash
------------------------------------------------------------------------------------------------------------------------------
实例:容器中部署静态网站
>准备环境:
1.创建映射80端口的交互式容器
docker run -p 80:80 --name web -i -t ubuntu /bin/bash
2.更新yum 源
yum update
3.配置epel-release 源
yum -y install epel-release
4.安装 nginx
yum -y install nginx
5.安装 vim 包
>创建静态页面
1.mkdir -pv /var/www/html
2.cd /var/www/html
3.vim index.html(内容如下)
hello,I am webserver in docker
>修改NGINX 配置文件
1.查看NGINX 安装位置:whereis nginx
2.修改配置文件: vim /etc/nginx/nginx.conf (修改部分如下)
root /var/www/html;
index index.html index.htm;
> 启动nginx
#nginx
>查看进程
ps aus
>验证网站并访问
1.以守护式退出:Ctrl+P+Q
2.查看容器进程:docker top 容器名
3.查看容器端口映射情况: docker port 容器名
4.通过宿主机地址加映射端口访问