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