简介
Docker属于操作系统层面的虚拟化技术,作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多的优势,访问网页
https://blog.csdn.net/qq_34936541/article/details/104890251查看使用Docker的优点,是否刚好能在某方面满足自己的工作需求、或者提高自己的工作效率,再决定是否继续往下看完文章。个人体会是:Docker比VMware虚拟机更为轻便、快捷(省硬盘空间、启动快、方便分享开发环境)。
本文重点是第3节如何使用Docker创建arm交叉编译环境,前2节只是把学习遇到的有用信息汇总在一起,未花更多时间去精心总结,仅供参考,遇到问题建议查看文章中给出的原始网址。
A
Docker简介
Docker是一个开源的应用容器引擎,基于Go语言开发。Docker可以让开发者将应用以及依赖包打包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的 app),更重要的是容器性能开销极低。
Docker三个基本概念:镜像(Image)、容器(Container)、仓库(Repository)。Docker使用C/S架构模式,使用远程API来管理和创建Docker容器。Docker 镜像是用于创建 Docker 容器的模板,镜像与容器的关系类似于面向对象编程中的类与对象。仓库可看成一个代码控制中心,用来保存镜像。
Docker实质上是在已经运行的Linux下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的Linux主机。Docker必须部署在Linux内核的系统上,如果其他系统比如Windows想部署 Docker 就必须安装一个虚拟 Linux 环境。
B
Docker使用入门
1、Windows下安装Docker
https://docs.docker.com/desktop/install/windows-install/
在https://docs.docker.com/desktop/install/windows-install/下载Docker Desktop,此方法仅适用于Windows 10专业版、企业版、教育版和部分家庭版,win7、win8等需要利用docker toolbox来安装。
在https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi下载WSL2。
Windows系统想部署 Docker 就必须安装一个虚拟 Linux 环境。Docker可能提示需要自行下载、安装wsl_update_x64.msi,专业版遇到过,企业版没有。
2、Docker Desktop
使用教程:
https://blog.csdn.net/qq_39611230/article/details/108641842
命令大全:
https://www.runoob.com/docker/docker-command-manual.html
镜像操作:
docker image ls或者docker images //获取当时所有镜像
docker pull Ubuntu //从镜像仓库中拉取或者更新指定镜像
docker run -it --name="test" ubuntu /bin/bash //--name为容器指定一个名称
docker rmi ubuntu //删除一个或多个镜像
容器操作:
docker ps //查看当前所有正在运行的容器
docker ps –a //-a :显示所有容器,包括未运行的。
docker rm //删除一个或多个容器
将已有容器制作成镜像:
# 将容器制作成镜像
docker commit 容器名 镜像名
# 镜像打包备份(打包备份的文件会自动存放在当前命令行的路径下,如果想让保存的文件可以打开,可以加.tar后缀)
docker save -o 保存的文件名 镜像名
# 镜像解压
docker load -i 文件路径/备份文件
https://blog.51cto.com/u_16213417/7033463
容器与主机共享文件目录,要写绝对路径,相对路径无效。
docker run -it -v d:/workspace:/workspace tnn-convert
https://blog.csdn.net/u013685264/article/details/123206169
docker容器与主机间的文件复制传输
先查看容器的名称:docker ps -a
复制容器文件到宿主机:docker cp 31d53f6b5b40:/test.c test.c
复制主机文件到docker容器中根目录:docker cp test.c 31d53f6b5b40:/
C
使用Docker创建arm交叉编译环境
在cmd里执行:
docker pull ubuntu //从镜像仓库中拉取或者更新指定镜像
docker run -it ubuntu //-i: 以交互模式运行容器,-t: 为容器重新分配一个伪输入终端
在容器里执行:
exit //退出当前容器
在cmd里执行:
docker ps -a
结果如下:
docker start -i 9e878ba7bfd7 //以交互模式运行已关闭的容器
安装gcc等工具链之前先更新系统,在容器里执行:
apt update //更新Linux系统的包索引或包列表,它不会升级任何软件包。
apt upgrade //将系统上所有过时的软件包升级到最新版本。
apt install gcc
apt install g++
apt install g++-arm-linux-gnueabihf
apt install gcc-arm-linux-gnueabihf
apt install make
在cmd里执行:
docker commit 9e878ba7bfd7 linux //从容器创建一个新镜像
docker save -o linux.tar linux //将指定镜像保存成tar归档文件
docker load -i linux.tar //在其他电脑导入使用docker save命令导出的镜像
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!