点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

前言

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。近年来,Docker方式越来越受欢迎,本文针对Docker ubuntu的镜像操作进行了详细阐述:包括两种方式。

方式 1

1. 制作基础镜像
1) 在宿主机上安装 docker 框架:
2) 拉基础镜像:
  sudo docker pull ubuntu:18.04
3) 查看各个下载基础镜像:
  sudo docker images ubuntu:18.04
2. 制作专属镜像:anaconda + requirements.txt
1) 进入镜像:启动容器
 sudo docker run -i -t ubuntu:18.04 /bin/bash
2) 更改 apt-get 下载软件镜像源:换成国内阿里云镜像源(镜像终端)
 # 备份原镜像软件源mv /etc/apt/sources.list /etc/apt/sources.list.bak# 更改镜像为阿里镜像源echo "deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe" >> /etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe" >> /etc/apt/sources.list
3) 更新源:(镜像终端)
 apt-get updateapt-get install wget
4) 把本地安装文件上传至 docker ubuntu: (宿主机终端)
 # 查看正在运行的容器 idsudo docker ps# 复制文件至 docker ubuntu 镜像sudo docker cp  /home/shichao/workspace/project/defrost/update/second_stage_kafka/v100/carrefour/Anaconda3-2019.10-Linux-x86_64.sh 061095ea358c:/home/anaconda_3.sh
5) 在镜像中下载 anaconda :(镜像终端)
 # 下载 anaconda:该版本对应 python3.6wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.1.0-Linux-x86_64.sh# 安装 anacondabash Anaconda3-5.1.0-Linux-x86_64.sh# 过程中全部都选择 yes# 使环境变量生效source ~/.bashrc# 查看是否生效:若出现 conda 4.4.10 则安装配置成功conda -V
6) 保存镜像:在保存镜像前保证容器不退出(宿主机终端)
 # 查看容器 id (宿主机终端)sudo docker ps# 按我们的需求更改的容器,我们可以通过命令 docker commit 来提交容器副本 (宿主机终端)(base) shichao@DL:~$ sudo docker commit -m "carrefour" -a "shichao" 1683ab3e55f0 shichao/ubuntu:v1# 参数解释如下:-m: 提交的描述信息-a: 指定镜像作者1683ab3e55f0:容器 IDshichao/ubuntu:v1: 指定要创建的目标镜像名# 查看新镜像 shichao/ubuntu:v1sudo docker images
7) 退出镜像:容器也退出(镜像终端)
 root@b08d897d4b97:/home/files# exit
8) 用新镜像启动一个容器:(宿主机终端)
 sudo docker run -t -i shichao/ubuntu:v1 /bin/bash
9) 进入一个正在启动的容器镜像:(宿主机终端)
 # 查看容器 id:sudo docker ps -a# 进入容器 id 为 1683ab3e55f0 的容器sudo docker exec -it 1683ab3e55f0 /bin/bash
10)镜像中安装 python 依赖:(镜像终端)
 # 拷贝依赖到容器镜像中:(宿主机终端)sudo docker cp  /home/shichao/workspace/project/defrost/update/second_stage_kafka/v100/carrefour/requirements.txt 061095ea358c:/home/files/requirements.txt# 用 anaconda 自带的 pip 安装 (镜像终端)root@061095ea358c:/home/files# pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple# 返回到 6 进行保存容器
11)提交镜像到仓库:(宿主机终端)
 # 登录 https://harbor.arfa.wise-paas.com 与仓库建立联系# -u 后是用户名# -p 后是密码sudo docker login -u **.chang -p Wen** https://harbor.arfa.***.com# 本地镜像 shichao/ubuntu:v5 与仓库中 carrefour:v1.0.0 建立对应关系sudo docker tag shichao/ubuntu:v5 harbor.arfa.***.com/microservice/carrefour:v1.0.0# push 到仓库sudo docker push harbor.arfa.***.com/microservice/carrefour:v1.0.0

方式 2 (推荐)

1)在宿主机上安装 docker :
2)应用 APP 目录如下:
   project  ├── requirements.txt├── Dockerfile└── app└── app.py└── <other .py files>
3)创建 Dockerfile:
 touch Dockerfile
4)Dockerfile 内容如下:
 FROM ubuntu:18.04#MAINTAINER jhao104 "j_hao104@163.com"#MAINTAINER shichaoRUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listRUN apt-get update -y && \  apt-get install -y python3-pip python3-devWORKDIR /appCOPY ./requirements.txt /app/requirements.txtRUN pip3 install -r requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simpleCOPY app/ /app/#ADD ./app.zip /ENTRYPOINT [ "python3" ]# 启动镜像后启动 app 的命令CMD [ "/app/consumer_defrost.py" ]
5)编译生成镜像:
 # shichao/ubuntu:v3.0.1 是镜像名称sudo docker build -t shichao/ubuntu:v3.0.1 .
6)启动镜像测试:
 sudo docker run shichao/ubuntu:v3.0.1
7)提交镜像到仓库:

详细见  [20200303: 制作 Docker ubuntu:18.04 镜像:方式 1]

上述内容,如有侵犯版权,请联系作者,会自行删文。

推荐阅读:

吐血整理|3D视觉系统化学习路线

那些精贵的3D视觉系统学习资源总结(附书籍、网址与视频教程)

超全的3D视觉数据集汇总

大盘点|6D姿态估计算法汇总(上)

大盘点|6D姿态估计算法汇总(下)

机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

汇总|3D点云目标检测算法

汇总|3D人脸重建算法

那些年,我们一起刷过的计算机视觉比赛

总结|深度学习实现缺陷检测

深度学习在3-D环境重建中的应用

汇总|医学图像分析领域论文

大盘点|OCR算法汇总

重磅!3DCVer-知识星球和学术交流群已成立

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导,550+的星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

欢迎加入我们公众号读者群一起和同行交流,目前有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加群或投稿

实战 | ​Docker ubuntu:18.04 镜像制作相关推荐

  1. docker build 18.04 镜像出现 Configuring tzdata - Please select the geographic area in which you live

    docker build 18.04 镜像出现 Configuring tzdata - Please select the geographic area in which you live. Su ...

  2. AWS Ubuntu 18.04 镜像采用滚动内核模型

    Canonical 方面宣布,Ubuntu 18.04 LTS AMI(Amazon Machine Images)中的默认 Linux 内核正在转向滚动内核模型. 据悉,到目前为止,AWS 的 Ub ...

  3. VMware安装Ubuntu 18.04虚拟机(镜像下载、硬盘分区、创建虚拟机、安装系统、桥接模式网络配置)

    1. VMware安装 安装VMware,Player免费,而且功能足够个人开发使用.(Pro的主要区别在于可以同时运行多个虚拟机,而Player只能同时运行一个) VMware Workstatio ...

  4. 双系统下卸载ubuntu 20.04再安装ubuntu 18.04的相关方法、软件以及出现ACPI Error错误和解决办法

    文章目录 前言 一.删除原来的ubuntu 20.04系统和开机引导 二.制作ubuntu18.04系统盘 三.安装ubuntu 18.04(已经有一个windows 10系统情况下) 四.安装完重启 ...

  5. ThinkPad X1 Carbon 安装Ubuntu 18.04到移动硬盘 教程指南

    ThinkPad X1 Carbon 安装Ubuntu 18.04到移动硬盘 教程指南 安装准备 步骤 下载ubuntu 制作启动盘 关闭Win系统快速启动 设置移动硬盘 设置BIOS 安全启动设置 ...

  6. Dell Inspiron 3670 安装 Win 10 和 Ubuntu 18.04 双系统,UEFI 启动

    Dell Inspiron 3670 安装 Win 10 和 Ubuntu 18.04 双系统,UEFI 启动 电脑配置(Inspiron 3670-R1847S) BIOS 设置 制作启动盘 安装 ...

  7. rufus linux开机密码,使用Rufus 3.4制作Ubuntu 18.04.1 U盘启动盘的方法

    本文介绍使用Rufus 3.4版本来制作Ubuntu 18.04.1 U盘启动盘的方法,一共需要八个步骤即可完成. 简介 Rufus是一个开源免费的快速制作U盘系统启动盘和格式化USB的实用小工具,它 ...

  8. 使用Rufus 3.4制作Ubuntu 18.04.1 U盘启动盘的方法

    本文介绍使用Rufus 3.4版本来制作Ubuntu 18.04.1 U盘启动盘的方法,一共需要八个步骤即可完成. 简介 Rufus是一个开源免费的快速制作U盘系统启动盘和格式化USB的实用小工具,它 ...

  9. Ubuntu 18.04双系统,含GPU、Linux Docker、Vitis-AI、休眠省电、五笔,以及安装问题USB启动、左右手错位、cudnn bug、Tweak tool

    参考文献 Windows10安装ubuntu18.04双系统教程 - 不妨不妨,来日方长 - 博客园 https://www.cnblogs.com/masbay/p/11627727.html 下载 ...

最新文章

  1. 【C++】C++11 STL算法(七):排列操作(Permutation operations)、数值操作(Numeric operations)
  2. Word查找的通配符和特殊字符!
  3. php和python写爬虫-一个简单的Python写的XML爬虫
  4. 实现Runnable接口的形式创建线程
  5. TCP 滑动窗口协议
  6. C语言博客作业--结构体
  7. 关于Unity实现AR功能(五)摄像头转换与闪光灯开关控制
  8. 前端学习(2153):Vue的终极解决方案
  9. Qt文档阅读笔记-数据驱动测试
  10. memcpy memmove区别和实现
  11. 银行理财子公司的“超级”玩法
  12. 像word手动插入分页符一样实现报表中强制分页(强制分页)
  13. 怎么架设魔兽世界服务器?
  14. Matlab根据excel数据画图
  15. linux python2升级到python3(源码编译安装)
  16. hdu 1859 最小长方形
  17. MySQL充电_mysql语法充电
  18. 【色彩管理】锐印添加ICC曲线教程
  19. 核桃、石头和榴莲——中年男人の致富经
  20. 鸿蒙系统和海思系统有什么区别,鸿蒙系统和安卓系统 到底有什么区别?

热门文章

  1. php curl 笔记
  2. Java 8时间和日期API 20例
  3. CSS层叠样式表——元素背景和文本样式
  4. 为什么华为加班那么多?
  5. 文献解读|利用Biolog EcoPlates 和PICRUSt2分析后期虾池细菌群落功能多样性
  6. 考研英语 - word-list-21
  7. 转载]冰血大哥的一篇学习计划
  8. 基于安卓的医院就诊丨医院挂号平台APP
  9. 致年轻时如此拼搏的你我
  10. Google XTS TV认证测试经验总结