为什么我的卷绑定到主机文件夹时是空的?
我正在尝试设置Docker容器来pipe理Android SDK。 我希望其他容器能够使用相同的SDK,例如我的Jenkins容器来构buildAndroid项目。
我发现这个图像都安装了Android SDK和Gradle。 因为我想重新使用SDK并使其持久化,所以我创build了绑定到主机文件夹的卷。 这是我用来启动容器docker-compose.yml
文件。
version: "2" services: androidsdk: image: thyrlian/android-sdk:latest restart: always container_name: androidsdk volumes: - /srv/gradle:/opt/gradle - /srv/android-sdk:/opt/android-sdk
但是,使用docker-compose up
启动映像docker-compose up
,我的主机上的文件夹和容器中的匹配文件夹都是空的。
如果我启动没有主卷的容器,容器中的文件夹不是空的,并包含SDK工具和Gradle。
我希望唯一的区别是,容器中的文件夹是镜像在我的主机上,当删除容器时,我仍然可以继续使用主机上的SDK,如果我链接到我的其他容器(如jenkins)。
为什么容器与主机卷“断开”,我怎样才能让它按我想要的方式工作?
我发现这个图像都安装了Android SDK和Gradle。 因为我想重新使用SDK并使其持久化,所以我创build了绑定到主机文件夹的卷。 这是我用来启动容器的docker-compose.yml文件。
SDK已经是这个图像的一部分。 只要图像存在于主机上,它是持久的。
通过在容器中安装本地卷,实际上是删除了SDK。