Docker从入门到实践(四)

2020/6/30 15:16:00

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

one.png

 

修改Nginx配置文件:

查看Nginx安装位置

whereis nginx

修改配置文件

vim /etc/nginx/sites-enabled/default

two.png

 

运行Nginx:

启动nginx

nginx

查看进程

ps -ef

three.png

 

验证网站访问:

退出容器

Ctrl+P Ctrl+Q

查看容器进程

docker top web

查看容器端口映射情况

docker port web

four.png

 

通过宿主机地址加映射端口访问:

five.png