当我从公共Elasticsearch存储库中提取图像时,生成带有该提取图像的容器对我来说工作正常,没有权限问题。
docker pull elasticsearch docker run -d elasticsearch
但是当我使用Dockerfile生成一个容器时,公共仓库中就可以使用它,这给了我权限问题。我的目录结构与公共仓库相同。
myfolder/Dockerfile myfolder/docker-entrypoint.sh myfolder/config/elasticsearch.yml myfolder/config/logging.yml https://github.com/docker-library/elasticsearch/tree/0d393d9a0a2e24fca022a89ad10c7050b2925292/2.1
命令:-1)使用Dockerfile构建映像
sudo docker build -t testuser/testelastic:v1 .
2)从生成的图像中生成容器
sudo docker run -d --name elastic -v ./config:/config testuser/testelastic:v1
但是,当我尝试从上述自定义构建映像中派生任何容器时,每次都会出现以下错误。
Error response from daemon: Cannot start container 8e72f3c33d054f5883b2de9e7673bc032333e633e3f43905d7d22a12ea76ad04: [8] System error: exec: "/docker-entrypoint.sh": permission denied
chmod +x docker-entrypoint.sh
您需要脚本是可执行的。然后构建并运行。