外部访问docker内部容器centos的http服务

1.创建容器

docker run -d -it -h dd -p 5000 --name bbbbb centos

dd 是用户名 --name 后面是容器名字

2.在我们开始安装Nginx及其他所需软件之前先安装一些前提软

yum install python-setuptools
 yum -y install epel-release
 yum install python-pip
 pip install --upgrade pip
 yum install virtualenv

3.安装并运行Nginx:

yum install nginx

4.Nginx是一个提供静态文件访问的web服务,然而,它不能直接执行托管Python应用程序,而uWSGI解决了这个问题。让我们先安装uWSGI,稍候再配置Nginx和uWSGI之间的交互。

yum install uwsgi


5.我们将托管的应用是经典的“Hello, world!”。这个应用只有一个页面,已经猜到页面上将有什么内容了吧。将所有应用相关的文件存放在/var/www/demoapp文件夹中。下面创建这个文件夹并在其中初始化一个虚拟环境:

mkdir /var/www
mkdir /var/www/demoapp

6.创建并激活一个虚拟环境,在其中安装Flask:

cd /var/www/demoapp

执行
virtualenv venv
执行
. venv/bin/activate
执行
pip install flask

7.使用下面的代码创建hello.py文件:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

8.让我们执行我们刚创建的脚本:

python hello.py

9.用谷歌浏览器访问
http://192.168.99.100:32773/
注释:32773不固定请查看kitematic下的setting下的Hostname/Ports查看端口

原文地址:https://www.cnblogs.com/yu-hailong/p/8484980.html