实战 | Docker ubuntu:18.04 镜像制作
点击上方“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 镜像制作相关推荐
- 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 ...
- AWS Ubuntu 18.04 镜像采用滚动内核模型
Canonical 方面宣布,Ubuntu 18.04 LTS AMI(Amazon Machine Images)中的默认 Linux 内核正在转向滚动内核模型. 据悉,到目前为止,AWS 的 Ub ...
- VMware安装Ubuntu 18.04虚拟机(镜像下载、硬盘分区、创建虚拟机、安装系统、桥接模式网络配置)
1. VMware安装 安装VMware,Player免费,而且功能足够个人开发使用.(Pro的主要区别在于可以同时运行多个虚拟机,而Player只能同时运行一个) VMware Workstatio ...
- 双系统下卸载ubuntu 20.04再安装ubuntu 18.04的相关方法、软件以及出现ACPI Error错误和解决办法
文章目录 前言 一.删除原来的ubuntu 20.04系统和开机引导 二.制作ubuntu18.04系统盘 三.安装ubuntu 18.04(已经有一个windows 10系统情况下) 四.安装完重启 ...
- ThinkPad X1 Carbon 安装Ubuntu 18.04到移动硬盘 教程指南
ThinkPad X1 Carbon 安装Ubuntu 18.04到移动硬盘 教程指南 安装准备 步骤 下载ubuntu 制作启动盘 关闭Win系统快速启动 设置移动硬盘 设置BIOS 安全启动设置 ...
- Dell Inspiron 3670 安装 Win 10 和 Ubuntu 18.04 双系统,UEFI 启动
Dell Inspiron 3670 安装 Win 10 和 Ubuntu 18.04 双系统,UEFI 启动 电脑配置(Inspiron 3670-R1847S) BIOS 设置 制作启动盘 安装 ...
- rufus linux开机密码,使用Rufus 3.4制作Ubuntu 18.04.1 U盘启动盘的方法
本文介绍使用Rufus 3.4版本来制作Ubuntu 18.04.1 U盘启动盘的方法,一共需要八个步骤即可完成. 简介 Rufus是一个开源免费的快速制作U盘系统启动盘和格式化USB的实用小工具,它 ...
- 使用Rufus 3.4制作Ubuntu 18.04.1 U盘启动盘的方法
本文介绍使用Rufus 3.4版本来制作Ubuntu 18.04.1 U盘启动盘的方法,一共需要八个步骤即可完成. 简介 Rufus是一个开源免费的快速制作U盘系统启动盘和格式化USB的实用小工具,它 ...
- Ubuntu 18.04双系统,含GPU、Linux Docker、Vitis-AI、休眠省电、五笔,以及安装问题USB启动、左右手错位、cudnn bug、Tweak tool
参考文献 Windows10安装ubuntu18.04双系统教程 - 不妨不妨,来日方长 - 博客园 https://www.cnblogs.com/masbay/p/11627727.html 下载 ...
最新文章
- 【C++】C++11 STL算法(七):排列操作(Permutation operations)、数值操作(Numeric operations)
- Word查找的通配符和特殊字符!
- php和python写爬虫-一个简单的Python写的XML爬虫
- 实现Runnable接口的形式创建线程
- TCP 滑动窗口协议
- C语言博客作业--结构体
- 关于Unity实现AR功能(五)摄像头转换与闪光灯开关控制
- 前端学习(2153):Vue的终极解决方案
- Qt文档阅读笔记-数据驱动测试
- memcpy memmove区别和实现
- 银行理财子公司的“超级”玩法
- 像word手动插入分页符一样实现报表中强制分页(强制分页)
- 怎么架设魔兽世界服务器?
- Matlab根据excel数据画图
- linux python2升级到python3(源码编译安装)
- hdu 1859 最小长方形
- MySQL充电_mysql语法充电
- 【色彩管理】锐印添加ICC曲线教程
- 核桃、石头和榴莲——中年男人の致富经
- 鸿蒙系统和海思系统有什么区别,鸿蒙系统和安卓系统 到底有什么区别?