---------------- 知识点 ------------
容器的端口映射:
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 包
> 创建静态页面
- mkdir -pv /var/www/html
- cd /var/www/HTML
3.VIM index.HTML(内容如下)
- <HTML>
- <head>
- <title>
- Nginx in docker
- </title>
- </head>
- <body>
- <h1>
- hello,I am webserver in docker
- </h1>
- </body>
- </HTML>
> 修改 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. 通过宿主机地址加映射端口访问
来源: http://www.bubuko.com/infodetail-2991564.html