开发者说丨Apollo本地Docker image保存与加载的方法

Image 里面是一层层文件系统,叫做Union FS(联合文件系统)。联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统。虚拟文件系统的目录结构就像普通Linux的目录结构一样,Docker通过这些文件再加上宿主机的内核提供了一个Linux的虚拟环境。每一层文件系统叫做一层Layer,联合文件系统可以对每一层文件系统设置三种权限,只读(Readonly)、读写(Readwrite)和写出(Writeout-able),但是 Docker 镜像中每一层文件系统都是只读的。

 

Apollo项目中的默认的Docker image要如何修改呢?

 

下面就由社区荣誉布道师——贺志国的文章,对Apollo本地Docker image保存与加载的方法进行详细讲解,希望这篇文章能给感兴趣的开发者带来更多帮助。

 

  以下,ENJOY  

 

有时我们需要修改Apollo默认的Docker image,那么如何对其进行保存与加载呢?下面逐一介绍之。

 

保存本地Docker image的方法

 

首先确保当前需要保存的Docker image处于活动状态(未被关闭),在Docker外部使用如下命令保存:

 

1# 查看当前活动的Docker image
2 docker ps
3# 保存本地Docker image
4# -p保存时暂停当前Docker image的运行
5# a954f492dab4表示Docker container id
6# registry.docker-cn.com/apolloauto/apollo表示repository(或称image)
7# davidhopper_dev表示tag,可以自己随意命名
8 docker commit -p a954f492dab4 registry.docker-cn.com/apolloauto/apollo:davidhopper_dev

 

加载本地Docker image 的方法

 

使用如下命令加载步骤一中保存的本地Docker image

 

1# -C表示使用国内服务器
2# -l -t davidhopper_dev表示基于本地标签为davidhopper_dev的Docker image拉取
3bash docker/scripts/dev_start.sh -C -l -t davidhopper_dev

 

整个操作过程的截图如下所示:

以上是"Apollo本地Docker image保存与加载的方法"的全部内容,更多话题讨论、技术交流可以扫描下方二维码添加『Apollo小哥哥』为好友,进开发者交流群。