人工智能服务
>
Notebook
>
Notebook功能介绍
>
Notebook自定义服务-多服务支持
目前Notebook自定义服务仅支持暴露一个端口,如果需要暴露容器内部多个服务,需要在容器内部通过代理插件增加一层转发层,将自定义服务暴露转发层的端口,在转发层配置多个代理服务。
在容器内部下载插件
# 下载插件包
wget https://mallcdn.accloud.cn/hpc_lsh/2c740f9410d5f593ef889b3b79aa4b68.zip?proxy_in_instance.zip
# 重命名 & 解压
mv 2c740f9410d5f593ef889b3b79aa4b68.zip proxy_in_instance.zip
unzip proxy_in_instance.zip
1)准备代理配置文件(config.yaml),配置文件需要和代理插件在相同的目录下
2)修改config.yaml文件,配置内部服务IP:PORT、访问路径
# vim config.yaml
proxies:
- host_and_port: http://127.0.0.1:5000 # 要代理到的服务地址
route_path: /v1/* # 匹配什么路由就转发到此地址
- host_and_port: http://127.0.0.1:5001 # 可设置多组,转发到不同的host
route_path: /v2/*
# vim service1.py && python service1.py
# 模拟监听5000端口的服务
from flask import Flask
app = Flask(__name__)
@app.route('/v1/demo')
def hello():
return 'I`m port 5000'
if __name__ == '__main__':
app.run(port=5000)
# vim service2.py && python service2.py
# 模拟监听5001端口的服务
from flask import Flask
app = Flask(__name__)
@app.route('/v2/demo')
def hello():
return 'I`m port 5001'
if __name__ == '__main__':
app.run(port=5001)
# 可执行权限
chmod +x proxy_in_instance
# 启动
./proxy_in_instance