目标
在 Windows10 环境下,使用Docker构建centos7容器,在容器中搭建RISC-V的交叉编译环境。
主要内容包括:
- Centos7容器的制作;
- 在容器中安装交叉编译器;
Centos7容器的制作
- Docker的简单介绍
以往我们制作一个虚拟机,往往在VMware或VirtualBox等软件中,使用 .iso镜像文件构建具有完整操作系统的虚拟机。这种方式制作的虚拟机在运行时资源占用多、冗余步骤多、启动慢。针对以上这些缺点,Linux发展出另外一种虚拟化技术——Linux 容器(Linux Containers,缩写为 LXC)。Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。或者说,在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。
由于容器是进程级别的,相比虚拟机有很多优势——启动快、资源占用少、体积小。1
总之,容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多。
再说到Docker,Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。
总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
- 使用Docker创建容器的步骤
- 新建一个目录mydocer,新建一个dockerfile文件。Docker使用这个dockerfile制作出镜像,之后再使用镜像制作出容器。dockerfile可以将一些容器需要的设置(如用户名和密码等)和软件(如wget)部署到镜像中,这样在容器生成后,就不必再手动安装一些常用的软件和配置系统环境了。
FROM centos
RUN yum install kde-l10n-Chinese -y
RUN yum install glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
RUN export LANG=zh_CN.UTF-8
RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
RUN yum -y install wget
RUN rm -rf /etc/yum.repos.d
RUN wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/