将 Elasticsearch 日志从 Docker 写入外部卷
Writing Elasticsearch logs from Docker to an external volume
我安装了一个 ELK Docker,它使 HDD 以 0 space 可用。
我到处查看文档,这是我能找到的最好的:
sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 \
-v elk-data:/var/lib/elasticsearch --name elk sebp/elk
但是,这只是告诉 Docker 在容器内部而不是在我安装大硬盘驱动器的地方写入日志的位置。
我错过了什么?
elk-data
是命名卷,应该通过:
定义
$ docker volume create elk-data
这将在 /var/lib/docker/volumes
中创建体积
您也许应该改用:
$ docker run -v /local/path/to/big/disk:/var/lib/elasticsearch -p 5601:5601 -p 9200:9200 -p 5044:5044 --name elk sebp/elk
如果您真的想使用命名卷,可以使用绑定语法创建一个:
$ docker volume create --name elk-data \
--opt type=none \
--opt device=/local/path/to/big/disk \
--opt o=bind
我安装了一个 ELK Docker,它使 HDD 以 0 space 可用。 我到处查看文档,这是我能找到的最好的:
sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 \
-v elk-data:/var/lib/elasticsearch --name elk sebp/elk
但是,这只是告诉 Docker 在容器内部而不是在我安装大硬盘驱动器的地方写入日志的位置。
我错过了什么?
elk-data
是命名卷,应该通过:
$ docker volume create elk-data
这将在 /var/lib/docker/volumes
您也许应该改用:
$ docker run -v /local/path/to/big/disk:/var/lib/elasticsearch -p 5601:5601 -p 9200:9200 -p 5044:5044 --name elk sebp/elk
如果您真的想使用命名卷,可以使用绑定语法创建一个:
$ docker volume create --name elk-data \
--opt type=none \
--opt device=/local/path/to/big/disk \
--opt o=bind