1.设置端口映射

run [-P][-p]

大写的 P 是Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口

1.1映射所有接口地址

使用 hostPort:containerPort 格式本地的 5000 端口映射到容器的 5000 端口,可以执行

$ sudo docker run -d -p 5000:5000 training/webapp python app.py

此时默认会绑定本地所有接口上的所有地址。

1.2映射到指定地址的指定端口

可以使用 ip:hostPort:containerPort 格式指定映射使用一个特定地址,比如 localhost 地址 127.0.0.1

$ sudo docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

1.3映射到指定地址的任意端口

使用 ip::containerPort 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。

$ sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py

1.4查看映射端口配置

使用 docker port 来查看当前映射的端口配置,也可以查看到绑定的地址

$ docker port nostalgic_morse 5000

127.0.0.1:49155.

2. 创建 web 容器

docker run -p 80 --name web -i -t ubuntu /bin/bash

3. 安装 nginx

apt-get install -y nginx

查找已经安装好的 nginx

whereis nainx

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

查找已经安装好的 nginx

进入配置文件 default.conf

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

进入配置文件

重修修改自己的网站静态目录

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

修改配置文件的 root

修改端口号,为容器创建时映射出去的端口号

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

修改端口号

4.创建静态页面

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

静态页面不多说

5.启动nginx并且访问静态页面

输入 nginx 启动,ps -ef 在容器内部查看进程,发现进程已经启动

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

启动

在容器外也可以输入命令查看容器里面的进程情况(容器名字在创建的时候写错了)

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

查看

也可以在 控制台输入 curl http://127.0.0.1:8888 访问

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

访问一下

浏览器访问

8d1e3c034d41?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

浏览器访问

6. 重启后

在关闭容器之后

重启还需要再次开启 nginx

采用 exec 加入

docker exec 容器名字 服务

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐