是一个常见的问题。在Docker容器中运行代码时,容器内的文件系统是独立于宿主机的,因此生成的文件默认情况下是存储在容器内部,并且在容器停止或删除后会丢失。为了解决这个问题,可以采取以下几种方式:
-v
参数,将宿主机上的目录与容器内的目录进行映射。这样生成的文件就可以保存在宿主机上,不会丢失。示例命令如下:docker run -v /path/on/host:/path/in/container image_name
其中/path/on/host
是宿主机上的目录路径,/path/in/container
是容器内的目录路径。可以根据需要修改路径。
docker volume create my_volume
docker run -v my_volume:/path/in/container image_name
这样生成的文件将保存在名为my_volume
的数据卷中。
docker cp
命令将文件复制到宿主机上。示例命令如下:docker cp container_id:/path/in/container /path/on/host
其中container_id
是容器的ID,/path/in/container
是容器内的文件路径,/path/on/host
是宿主机上的目录路径。
这些方法可以解决无法定位和持久化由生成Docker命令运行的代码生成的文件的问题,可以根据具体需求选择合适的方法。
领取专属 10元无门槛券
手把手带您无忧上云