Docker卷每次都重新创build一个新的目标path

我已经创build了下面的docker文件

FROM resin/rpi-raspbian:jessie-20160831 .. RUN mkdir -p /usr/bin/asmp COPY src /usr/bin/asmp/ VOLUME /usr/bin/asmp/data .. 

复制操作像这样复制一个目录结构:

 data db.sqlite3 web ... worker ... 

我比刚开始一个容器,使用这样的东西:

 docker run -p 8000:8000 asmp 

当我做检查时,我看到这个:

  "Mounts": [ { "Name": "30ccc87580cd85108cb4948798612630640b5564f66de848a4e2f77db8148d3a", "Source": "/var/lib/docker/volumes/30ccc87580cd85108cb4948798612630640b5564f66de848a4e2f77db8148d3a/_data", "Destination": "/sys/fs/cgroup", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" }, { "Name": "c4473031d209eb29d3f454be68325c6b1f33aa660185bf57e8abb91a56bb260e", "Source": "/var/lib/docker/volumes/c4473031d209eb29d3f454be68325c6b1f33aa660185bf57e8abb91a56bb260e/_data", "Destination": "/usr/bin/asmp/data", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], 

当我停止容器(通过杀死它)而不是再次启动容器时,它会创build一个新卷到不同的目录。 所以我想知道如何处理这种情况? 我开始/停止容器错了吗? 或者我应该指定不同的音量? 我知道你可以指定一个目标path,但我可以(也应该)在docker文件中指定这个吗? 我宁愿在docker文件中指定音量设置,因为run命令已经有很多参数来redirect端口和设备。

有什么想法吗?

运行容器时必须指定卷目标。 阅读关于卷

docker run -p 8000:8000 --volume=<path_on_host>:/usr/bin/asmp/data asmp