本文部分参考https://blog.csdn.net/u013948858/article/details/78429954

注意以下操作在64位Ubuntu16.04或14.04下进行,不支持32位虚拟机

因为我没有NVIDIA显卡,CPU还是个不支持最新的AVX指令集的老古董,只能选TensorFlow-1.5.0版本。
1.5.1以上的二进制TensorFlow安装包要求CPU必须支持英特尔酷睿AVX指令集

安装docker-ce

wget -qO- https://get.docker.com/ | sh

检查确认,后台已经开启docker服务

sudo systemctl status docker
# 屏幕输出以下内容后按q键退出● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since 三 2018-05-23 09:33:05 CST; 1min 15s agoDocs: https://docs.docker.comMain PID: 15787 (dockerd)Tasks: 18Memory: 18.9MCPU: 635msCGroup: /system.slice/docker.service├─15787 /usr/bin/dockerd -H fd://└─15793 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 5月 23 09:33:03 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:03.358744329+08:00" level=warning msg="Your kernel does
5月 23 09:33:03 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:03.358827602+08:00" level=warning msg="Your kernel does
5月 23 09:33:03 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:03.358843786+08:00" level=warning msg="Your kernel does
5月 23 09:33:03 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:03.359922021+08:00" level=info msg="Loading containers:
5月 23 09:33:03 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:03.826352529+08:00" level=info msg="Default bridge (doc
5月 23 09:33:05 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:05.000399734+08:00" level=info msg="Loading containers:
5月 23 09:33:05 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:05.345414436+08:00" level=info msg="Daemon has complete
5月 23 09:33:05 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:05.345457070+08:00" level=info msg="Docker daemon" comm
5月 23 09:33:05 ubuntu1604 dockerd[15787]: time="2018-05-23T09:33:05.375136993+08:00" level=info msg="API listen on /var/
5月 23 09:33:05 ubuntu1604 systemd[1]: Started Docker Application Container Engine.
# Ubuntu中docker默认用户组编号为998
cat /etc/group|grep docker
docker:x:998:
#也可手动修改sudo groupadd -g 998 --system docker

sudo usermod -aG docker $USER然后重新cat /etc/group|grep docker可以看到当前用户名已经被添加到docker组了

重启一次Linux,然后检查你的普通用户应该已经可以运行docker命令了

执行:

docker info

如果提示get ......dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限

sudo chmod a+rw /var/run/docker.sock

拉回官方的Python3.5+TensorFlow-1.5.0的镜像

为什么选TensorFlow-1.5.0?因为我没有NVIDIA显卡,CPU还是个不支持最新的AVX指令集的老古董

docker pull tensorflow/tensorflow:1.5.0-py3

对于树莓派玩家,官方的docker仓库貌似还没有支持armhf,使用非官方的镜像,由romilly制作:

docker pull romilly/rpi-docker-tensorflow
# 作者romilly和samjabrahams上传的非官方镜像地址:
# https://hub.docker.com/r/romilly/rpi-docker-tensorflow/
# https://github.com/romilly/rpi-docker-tensorflow
# https://github.com/samjabrahams/tensorflow-on-raspberry-pi

两种不同的启动方式

  1. 网页模式启动
# 启动预装了tensorflow的容器
docker run -it -p 8888:8888 tensorflow/tensorflow:1.5.0-py3
# 选项 -p 8888:8888表示端口映射,可通过宿主机浏览器查看这个容器
# http://localhost:8888/
# 第一次需要输入token和设置密码# 选项-d可以将docker放到后台运行# 树莓派用户需要选择专用镜像
# docker run -it  -p 8888:8888 romilly/rpi-docker-tensorflow bash

从其他终端窗口查询容器ID,或关闭容器

docker ps
CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS              PORTS                              NAMES
146e3cda6d92        tensorflow/tensorflow:1.8.0-py3   "/run_jupyter.sh -..."   15 minutes ago      Up 15 minutes       6006/tcp, 0.0.0.0:8888->8888/tcp   affectionate_snyder# docker stop 容器ID
# docker start 容器ID
  1. 进入命令提示符bash
docker run -it -v /home:/mnt tensorflow/tensorflow:1.5.1-py3 bash
# 选项
# -v /home:/mnt表示将宿主机/home目录加载到docker容器的/mnt位置
# -v /mnt:/mnt表示将宿主机/mnt目录加载到docker容器的/mnt位置
# bash代表进入容器虚拟机的命令提示符# 树莓派用户需要选择专用镜像
# docker run -it -v /home:/mnt romilly/rpi-docker-tensorflow bash

退出后这个容器将被保存到历史记录中

docker ps -a
# 查看CONTAINER ID
# 根据保存的容器ID编号可以重新进入容器
docker stop 容器ID
docker start 容器ID
docker attach 容器ID
  • https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/README.md
  • https://www.tensorflow.org/install/install_linux?hl=zh-cn

Ubuntu在docker容器中安装TensorFlow-1.5相关推荐

  1. Docker(三):镜像导入与导出、保存与加载、在Docker容器中安装软件

    相关阅读: Docker(一):Docker的安装与常用命令 Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit Docker(三):Docker镜像导入与导 ...

  2. docker容器中安装vim

    docker容器中安装vim 在使用docker容器时,容器一般没有安装vim,就需要安装vim apt-get install vim命令用于安装vim,但是下载过慢. 第一步 配置国内镜像源 进入 ...

  3. 解决:bash: vim: command not found、docker 容器不识别 vi / vim 、docker 容器中安装 vim

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 在 Docker 容器中编辑文件,报错如下: bash: vim: command not f ...

  4. 容器安装java_在docker容器中安装Java(从宿主机向docker容器中拷贝文件)

    操作系统 [root@Optimus /]# uname -a Linux Optimus 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2 ...

  5. docker容器中安装vim 、telnet、ifconfig, ping命令

    在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时 ...

  6. alpine安装启动mysql_在php5-fpm-alpine docker容器中安装php-gd依赖于alpine linux

    试图在docker中的alpine linux上安装GD依赖项. 我正在构建php5-fpm-alpine图像. FROM php:5-fpm-alpine RUN docker-php-ext-in ...

  7. linux php 依赖,在php5-fpm-alpine docker容器中安装php-gd依赖于alpine linux

    试图在docker中的alpine linux上安装GD依赖项. 我正在构建PHP5-fpm-alpine图像. FROM PHP:5-fpm-alpine RUN docker-PHP-ext-in ...

  8. 在docker容器中安装ifconfig、ping等工具

    为PaddlePaddle容器安装基础工具 PaddlePaddle容器缺少很多OS工具,因此与外部进行交互时不是很方便,对于在使用中新安装的工具包做个记录,再次使用类似容器时可以快速进行安装. 安装 ...

  9. 如何在Docker容器中安装RabbitMQ

    1.Docker环境 视频教程:https://www.bilibili.com/video/BV1xv4y1S7kA/ 2.搜索镜像 https://hub.docker.com/网站搜索rabbi ...

最新文章

  1. C语言接收一个整数划分成5的倍数,整数划分为连续整数;整数划分
  2. 微信小程序开发踩坑日记
  3. jpa postgresql 使用uuid作为主键
  4. ruijie交换机lacp动态_Server2016和华为s5720交换机链路聚合增加带宽
  5. 染色(树链剖分 洛谷-P2486)
  6. linunx 定位最耗资源的进程
  7. 经典面试题(37):以下代码将输出的结果是什么?
  8. 中芯国际最终超额募资523.2亿元,14nm工艺打“鸡血”了
  9. idea js检查太卡_IntelliJ IDEA抑制、禁用与启用检查
  10. centos桌面系统怎么退回终端系统_【社群话题分享】Linux 各大发行版你怎么选?...
  11. App Inventor 实现简单计步器
  12. 三星显示屏测试软件,MagicTune(三星显示器调节工具)
  13. 【故障处理】ORA-12162: TNS:net service name is incorrectly specified
  14. 阿里巴巴2020春招暑期实习笔试题
  15. WTS_ERAL_年假生成规则
  16. BZOJ1895: Pku3580 supermemo Splay
  17. 不间断:即使被刺破,新的软电子设备也不会损坏
  18. 【突然断电后电脑无法开机】
  19. Trident Topology
  20. 单招计算机网络考什么,单招考什么内容 单招一般考什么科目

热门文章

  1. windows命令总结
  2. char*和CString转换
  3. IoT:BLE4.0教程一 蓝牙协议连接过程与广播分析
  4. 问答 | 为什么两轮差速机器人转向运动是圆周运动
  5. 修改网页代码_利用网页监控优势,做百度自动推送
  6. if/else双分支(JS)
  7. 清除浮动-父级添加overflow(HTML、CSS)
  8. 天梯—打印沙漏以及剩余个数(C语言)
  9. “快陪练”获1000万美元Pre-A轮融资,单月营收破千万,俞敏洪跟投...
  10. 模块化无人机,不仅配置高,还颜值爆表