我正试图在我的笔记本电脑的Docker镜像上安装Ambari,该笔记本电脑的主机操作系统为OpenSuse Leap 42.1。根据GitHub上的描述,此图像基于CentOS 6.0。
这将启动(如果您以前从未使用过,则下载)一个图像基于centos-6,预装Ambari 2.1.0,准备安装HDP2.3.
这是否意味着,如果我使用这个docker映像,它将首先安装作为VM的Centose,然后运行其中的服务,或者它将使用我的主机操作系统(OpenSuse),只在docker容器中安装服务。
我在这里读到
Docker容器不会有任何永久存储,除非您设置把它挂起来。当容器被杀死时,在图像中找不到任何数据将丢失。
这是否意味着所有docker容器都没有持久存储?如果是,如何为docker映像设置永久存储?
这是否意味着,如果我使用这个docker映像,它将安装作为VM,然后运行其中的服务,否则它将使用我的主机操作系统(OpenSuse),只需将服务安装在docker容器中即可。
Docker镜像与主机操作系统镜像不同。基本上,docker有自己的一组映像,当你发出docker pull
命令时(在你的情况下,我想它将间接发出),docker会下载所需的映像,例如,在你的例子中,在CentOS。确切地说,当您指定一个映像时,Docker会首先在Docker主机上查找该映像。如果找不到,它就会从其公共映像注册表Docker Hub下载映像。
这是否意味着所有docker容器都没有持久存储?如果是的,如何为docker映像设置永久存储?
您可以将Data volumes
用于持久存储,这是您应该设置的,但这是一项简单的任务!请阅读此处了解更多详细信息。简而言之:
数据卷旨在持久化数据,独立于集装箱的生命周期。Docker因此从不自动删除卷,也不会"垃圾回收"容器不再引用的卷。