Nginx+Docker搭建tensorflow环境
程序员文章站
2022-03-02 10:22:06
...
环境
- 系统:CentOS7
- pip(python 2.7)
- 准备工作
采用docker-compose构建镜像,其中docker-compose使用pip安装pip install docker-compose
,docker使用yum安装yum install docker -y
- 构建文件
vim docker-compose.yml
version: '2'
services:
jupyter:
image: tensorflow/tensorflow:latest-py3
container_name: jupyter
ports:
- "8888:8888"
environment:
- PASSWORD=xxx
volumes:
- "/tmp/tensorflow_logs"
- "./notebooks:/root/notebooks"
command:
- "/run_jupyter.sh"
- "/root/notebooks"
- "--allow-root"
tensorboard:
image: tensorflow/tensorflow:latest-py3
container_name: tensorboard
ports:
- "6006:6006"
volumes_from:
- jupyter
command:
- "tensorboard"
- "--logdir"
- "/tmp/tensorflow_logs"
- "--host"
- "0.0.0.0"
这里使用的镜像为
Python3.x
CPU版本的tensorflow,具体的其他版本可以参考官方
- 在构建文件的目录下运行
docker-compose up
即可启动jupyter和tensorboard两个镜像,分别绑定本地的8888和6006端口,使用docker-compose up -d
可以后台运行,PASSWORD
为jupyter的登录密码,volumes
挂载了.ipynb文件和tenorboard的日志文件到本地硬盘,从而实现两个镜像之间文件的共享。 - 两个镜像成功启动之后就可以直接通过http://127.0.0.1:8888和http://127.0.0.1:6006访问了。
- 如果是想在云主机上搭建并且拥有域名的话,可以使用nginx来进行反向代理,通过子域名来访问。如果是想在云主机上搭建并且拥有域名的话,可以使用nginx来进行反向代理,通过子域名来访问。
注意这里使用nginx反向代理的话会出现
跨域问题
,因此nginx需要进行跨域配置
# 这里使用的是HTTPS,因此配置了证书,当然也可以不配置,。,
server {
listen 443 ssl;
# 指定域名
server_name tb.xxx.xxx;
ssl_certificate "/etc/letsencrypt/live/xxx/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/xxx/privkey.pem";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://127.0.0.1:6006;
# 跨域的关键代码
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_http_version 1.1;
# 由于jupyter部分链接用到WebSocket,也会产生跨域问题
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
上一篇: SurfaceView
下一篇: Windows下Mysql5.7安装使用
推荐阅读
-
eclipse搭建android开发环境详细步骤
-
editplus和mingw一起搭建c/c++开发环境的详细步骤
-
ubuntu 18.04搭建python环境(pycharm+anaconda)
-
VS2017 Cordova Ionic2 移动开发环境搭建教程
-
centos下GitLab+Jenkins持续集成环境搭建(安装jenkins)
-
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
-
LNMP环境搭建详细教程
-
webpack 4.x之搭建前端开发环境
-
详解Ubuntu 从零开始搭建Python开发环境
-
Android开发环境搭建图文教程 亲测有效!