我有一个虚拟机,在它里面,我运行一个ElasticSearchDocker容器,通过 docker-compose
. 它运行得很好。然后突然断电后,我再次尝试运行容器,但发现一个以前不存在的错误:
然后容器继续重新启动。当我检查文件权限时(在容器重新启动之前的一小段时间内),我发现:
这是我的 docker-compose.yml
:
version: '2.3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.8.0
hostname: elasticsearch
restart: always
user: root
ports:
- "9200:9200"
- "9300:9300"
volumes:
- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
env_file:
- devopsfw-elk.env
这里到底发生了什么?我对docker和elasticsearch还比较陌生,对于正在发生的错误我非常困惑。
2条答案
按热度按时间0pizxfdo1#
看起来该文件是由根用户拥有的,并且已损坏,要删除该文件,必须使用超级用户访问权限
sudo
,所以正确的命令是然后,创建一个文件并重新启动conatainer。
wfsdck302#
问题是文件已损坏,请删除它并重新启动容器。
如果您在删除此内容时遇到问题,请阅读以下内容:https://superuser.com/questions/197605/delete-a-corrupt-file-in-linux