点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。近年来,Docker方式越来越受欢迎,本文针对Docker ubuntu的镜像操作进行了详细阐述:包括两种方式。
sudo docker pull ubuntu:18.04
sudo docker images ubuntu:18.04
sudo docker run -i -t ubuntu:18.04 /bin/bash
# 备份原镜像软件源
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
apt-get update
apt-get install wget
# 查看正在运行的容器 id
sudo 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
# 下载 anaconda:该版本对应 python3.6
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.1.0-Linux-x86_64.sh
# 安装 anaconda
bash Anaconda3-5.1.0-Linux-x86_64.sh
# 过程中全部都选择 yes
# 使环境变量生效
source ~/.bashrc
# 查看是否生效:若出现 conda 4.4.10 则安装配置成功
conda -V
# 查看容器 id (宿主机终端)
sudo docker ps
# 按我们的需求更改的容器,我们可以通过命令 docker commit 来提交容器副本 (宿主机终端)
(base) shichao@DL:~$ sudo docker commit -m "carrefour" -a "shichao" 1683ab3e55f0 shichao/ubuntu:v1
# 参数解释如下:
-m: 提交的描述信息
-a: 指定镜像作者
1683ab3e55f0:容器 ID
shichao/ubuntu:v1: 指定要创建的目标镜像名
# 查看新镜像 shichao/ubuntu:v1
sudo docker images
root@b08d897d4b97:/home/files# exit
sudo docker run -t -i shichao/ubuntu:v1 /bin/bash
# 查看容器 id:
sudo docker ps -a
# 进入容器 id 为 1683ab3e55f0 的容器
sudo docker exec -it 1683ab3e55f0 /bin/bash
# 拷贝依赖到容器镜像中:(宿主机终端)
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 进行保存容器
# 登录 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
project
├── requirements.txt
├── Dockerfile
└── app
└── app.py
└── <other .py files>
touch Dockerfile
FROM ubuntu:18.04
#MAINTAINER jhao104 "[email protected]"
#MAINTAINER shichao
RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get update -y && \
apt-get install -y python3-pip python3-dev
WORKDIR /app
COPY ./requirements.txt /app/requirements.txt
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
COPY app/ /app/
#ADD ./app.zip /
ENTRYPOINT [ "python3" ]
# 启动镜像后启动 app 的命令
CMD [ "/app/consumer_defrost.py" ]
# shichao/ubuntu:v3.0.1 是镜像名称
sudo docker build -t shichao/ubuntu:v3.0.1 .
sudo docker run shichao/ubuntu:v3.0.1
详细见 [20200303: 制作 Docker ubuntu:18.04 镜像:方式 1]
上述内容,如有侵犯版权,请联系作者,会自行删文。
推荐阅读:
那些精贵的3D视觉系统学习资源总结(附书籍、网址与视频教程)
机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划
重磅!3DCVer-知识星球和学术交流群已成立
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导,550+的星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题
欢迎加入我们公众号读者群一起和同行交流,目前有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加群或投稿
在做OpenStack+ceph实验时,出现报错!!!打开网页界面创建镜像时,提示镜像创建不成功!!报错:Error finding address for http://192.168.10.20:9292/versions: Unable to establish connection to http://192.168.10.20:9292/versions: HTTPConnectio...
goto 关键字很早就在程序设计语言中出现。事实上,goto 是汇编语言的程序控制结构的始祖:“若条件 A,则跳到这里;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许多跳转。然而,goto 是在源码的级别跳转的,所以招致了不好的声誉。若程序总是从一个地方跳到另一个地方,还有什么办法能识别代码的流程呢?随着 Edsger Dijkstra 著名的“Got
国际标准书号(ISBN)是用于一起唯一识别书籍的代码。它还对该书的出版商进行了唯一编码,并包含有关其作者语言的信息。原始10-“数字”ISBN-10(其中“数字”由前9个位置的十进制数字0-9和第10个位置的0-9或X组成,对应于混合基本字符串),正在使用中30多年来,截至2007年1月1日..._国际标准书号意义
1.安装Python。2.安装PyCharm。3.Python安装第三方库SimpleITK。 命令行模式下,任意位置输入: pip install SimpleITK 第三方库会自动存在Python安装路径下的Lib\site-packages目录下。4.安装ImageJ并设置。 为了使用下面测试代码中.Show()功能。(具体可参..._import simpleitk
以前也遇到过这种问题,在流传输过程中是不允许被并发访问的。所以数据能接连不断的传过来,其实有很多人在运行的时候都会碰到EOFException, 然后百思不得其解,去各种论坛问解决方案。其实我想说,这个异常不是必须声明的,也就是说它虽然是异常,但其实是正常运行结束的标志。EOF表示读到了文件尾( String str = dis.readUTF(); ,客户端已经断开,后面已经没有内容可以读了),..._eofeception
决策树编程pythonby Ivan Leo 伊万·利奥(Ivan Leo) Python如何制定决策:编程中的控制流简介 (How Python makes decisions: an introduction to Control Flow in programming)What is control flow? 什么是控制流程? I find it easy to think of ..._运用编程进行决策
@Configurationpublic class SpringMvcConfigurationInitializer extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //上传的图片在c盘下的/opt/plate目录下,访问路径如 下:http://l
前言:在本文中,我们将着重介绍如何将WijmoJS与Ionic一起使用,来创建一款移动端支持优先、快捷高效的应用程序。在之前的文章中,我们已经介绍了使用WijmoJS与Angular、React、Vue三大框架结合搭建您的Web应用程序。这篇将是本系列的最后一篇文章。什么是Ionic?Ionic是一个专注于用Web开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架,它绑定了Angul...
Once upon a time, in the mystical continent, there is a frog kingdom, ruled by the oldest frog, the Elder. The kingdom consists of N cities, numbered from east to west. The 1-th city, which is located
进行二次namenode格式化前,请注意:hadoop namenode -format进行着一步前,要把以前格式化的内容删掉,如果,你的路径是在hadoop文件夹内,那么直接格式化即可,如果是在外部创建的文件夹,需要把dfs下的data与name下的所有文件删掉。!!! 这里为了方便看到直接用的图形化界面从节点下的也要删除。要不然启动后,从节点下没有datanode然后进行格式化,..._hadoop集群更换主节点需要重新格式化吗
Spring bean作用域先看看spring的bean作用域有几种,他们之间分别有啥不同。Spring bean作用域有以下5个:singleton:单例模式,默认,当spring创建applicationContext容器的时候,Spring会欲初始化所有的该作用域实例,加上lazy-init就可以避免预处理;prototype:原型模式,每次通过getBean获取该bean就会新产生一个实例,创建后Spring将不再对其管理;******* 下面是在web项目下才用到的 *******re
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成、持续交付,持续部署、自动化测试、 DevOps 等实践教程、工具与资源,以及一些工程师文化相关的程序员 Tips 。同步于 flow.ci Blog、微信公众号、官方微博,知乎专栏,简书,欢迎关注或投稿:)上周,我们对 flow.ci 做了比较多的功能优化: 1、iOS 项目持续集成iOS 项目支持 Ca_ciweekly