点击上方“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视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加群或投稿
文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib
文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang
文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些
文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器
文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距
文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器
文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn
文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios
文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql
文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...
文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120
文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数