我正在尝试为 SOLR 扩展一个 docker 容器。我只想在其中安装 vim
。但是当我运行 docker build 时,它抱怨我不是 root。
这是我正在扩展的 DockerFile: https ://github.com/makuk66/docker-solr/blob/master/5.3/Dockerfile
我的构建文件是这样的:
FROM makuk66/docker-solr
MAINTAINER OCSCommerce Team <support@ocscommerce.com>
RUN apt-get update
RUN apt-get --assume-yes install vim
COPY home/ocscommerce /etc/solr/home
然后它输出这个:
192.168.99.100
localhost:solr$ docker build -t ocscommerce/solr .
Sending build context to Docker daemon 39.66 MB
Step 0 : FROM makuk66/docker-solr
---> 92be2fe79f15
Step 1 : MAINTAINER OCSCommerce Team <support@ocscommerce.com>
---> Using cache
---> a3ac70e40324
Step 2 : RUN apt-get update
---> Running in c865716a2694
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
有没有办法将包安装到这个容器中?还是我需要从 makuk66 复制原始构建文件?
原文由 Richard G 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Dockerfile#L24 中,用户已切换到
solr
。因此,如果您使用FROM
的图像作为基础图像,您自己的所有命令Dockerfile
都由用户运行solr
您可以通过从头开始构建 Dockerfile 来修复它。
其次,构建时不要将代码复制到容器中,使用
-v
选项会更灵活。替换为
docker run
命令-v home/ocscommerce:/etc/solr/home