Docker无法在现有文件

时间:2016-02-04 17:05:10

标签: docker docker-compose

我在AWS Linux实例

上执行此操作
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5/1.9.1
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5/1.9.1
 Built:
 OS/Arch:      linux/amd64

每当我尝试使用以下docker-compose.yml docker-compose up -d时(这是一段摘录)

elasticsearch:
  image: elasticsearch:2.1.1
  command: elasticsearch
  ports:
  - "9200:9200"       
  - "9300:9300"
  volumes:
  - ./elk/es/staging.yml:/etc/elasticsearch/elasticsearch.yml
  links: 
  - kibana
  volumes_from:
  - es-data

es-data:
  image: elasticsearch:2.1.1
  command: "true"
  volumes:
  - /usr/share/elasticsearch/
  - /etc/default/elasticsearch
  - /var/lib/elasticsearch/
  - /var/log/elasticsearch

我会收到此错误:

Recreating es-data_1
ERROR: cannot mount volume over existing file, file exists /var/lib/docker/devicemapper/mnt/33111596cd765c4220c65ea7cc35df4a6c295a860e4ad94294c7ee985da6ea7c/rootfs/etc/default/elasticsearch

我尝试通过从es-data中删除卷来绕过此错误,但这并不理想,因为我将其用作仅数据容器。

我已尝试使用docker volume rm $(docker volume ls -q)删除系统上的所有可用卷,但除了一个我不确定如何强制删除的卷之外,它会删除所有卷。

理想的情况是允许我重复使用该卷(我假设此时是孤立的)。第二种理想情况是能够移除音量并能够创建一个新音量。

如果我在我的个人计算机上执行此操作,我会采用更简单的方法重新创建我正在使用的docker-machine作为一个干净的平板,但我不想在我的AWS实例上执行此操作。< / p>

0 个答案:

没有答案