官方docker镜像地址:https://hub.docker.com/r/tensorflow/tensorflow/

直接跑docker镜像,第一次进入容器后有token显示可以用来登录,退出容器第二次进入后找不到token,然后就有了以下曲线救国的方式

注:tensorflow镜像 是跑在 vm虚拟机 的 ubuntu16.04 系统里,ip为 192.168.23.128,我是在 物理机 上打开 jupyter notebook 网页的


  1. pull 镜像

    $ docker pull tensorflow/tensorflow
  2. run 镜像,生成容器实例,第一次进入会执行 /run_jupyter.sh,会有 token 让你进入 localhost:8888 页面是可以输入并登录

    $ docker run -it -p 8888:8888 tensorflow/tensorflow
  3. 第二次进入后,不显示 token,用 $ jupyter notebook list 命令也不显示 jupyter server 和 token,采取曲线救国的办法是 设置密码登录 ,修改配置文件 ~/.jupyter/jupyter_notebook_config.py

    root@8c9ac8d5f947:~# vi ~/.jupyter/jupyter_notebook_config.py
    
    
    # 修改里面的 password 配置,我这里注释掉了使用环境变量 PASSWORD,直接明文密码 yangx,password()函数是个 hash函数
    
    
    # sets a password if PASSWORD is set in the environment
    
    
    #if 'PASSWORD' in os.environ:
    
    c.NotebookApp.password = passwd("yangx")
    
    #  del os.environ['PASSWORD']
    
    
  4. 修改后 kill 掉该进程,会自动退出容器并stop

    root@8c9ac8d5f947:~# netstat -tulpn #查询占用8888端口的进程并kill掉
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      7/python        
    tcp        0      0 127.0.0.1:55355         0.0.0.0:*               LISTEN      36/python       
    tcp6       0      0 :::8888                 :::*                    LISTEN      7/python        
    root@8c9ac8d5f947:~# kill 7
  5. 重新启动容器并进入

    wilker@ubuntu:~$ docker start 8c9ac8d5f947
    8c9ac8d5f947
    wilker@ubuntu:~$ docker exec -it 8c9ac8d5f947 /bin/bash
    root@8c9ac8d5f947:/notebooks# 
  6. 打开浏览器输入密码 yangx

    这里写图片描述

    ok,done

    这里写图片描述

    然后就可以愉快的玩耍了

    这里写图片描述


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐