docker 运行 为每个 运行 创建一个新数据卷

docker run creating a new data volume for each run

我想保留容器中的一些配置数据,并且正在按照 data volumes 上的教程进行操作。

我成功 运行 应用程序:

docker run -it --privileged -v /app/config -p 8083:8083 myapp-ubuntu:2.2.2

其中 -v /app/config 是容器内的目录,其中包含应在容器重新启动后继续存在的配置。

此外 运行 的结果是容器在 /var/lib/docker/volumes 中创建了一个卷。

# ls /var/lib/docker/volumes
5e60d70dc15bcc53aa13cfd84507b5758842c7743d43da2bfa2fc121b2f32479

但是,如果我终止容器并重新运行它,则不会保留任何数据,并且会在 /var/lib/docker/volumes:

中创建一个新卷
# ls /var/lib/docker/volumes
5e60d70dc15bcc53aa13cfd84507b5758842c7743d43da2bfa2fc121b2f32479  (FIRST RUN)
82de3aa910bc38157a6dc20a516b770bd0264860ae83093d471212f69960d02a  (SECOND RUN)

我希望这些是坚持的步骤,我在这里遗漏了什么吗?

我想你可以用named volumes来解决:

docker run -it --privileged -v some_named_volume:/app/config -p 8083:8083 myapp-ubuntu:2.2.2

或者你可以使用 Dockerfile 使用指令 COPY