淘先锋技术网

首页 1 2 3 4 5 6 7

对于使用Docker的开发者来说,文件传输是一个必不可少的工作。Docker提供了多种方式来传输文件,在这篇文章中,我们将会介绍其中两种:Docker CP和Docker Volumes。

Docker CP

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Docker CP是一个简单的命令行工具,可以让你拷贝文件到和从Docker容器中。以下是一个例子:

docker cp my-container:/app/data.txt /home/user/

这将会把容器my-container中的文件data.txt拷贝到本地的/home/user目录下。

当然,还有其他一些选项:

-L: 总是跟随符号链接
-P: 不跟随符号链接(默认)

例如,如果你需要跟随符号链接,可以使用以下命令:

docker cp -L my-container:/app/data.txt /home/user/

Docker Volumes

Docker Volumes是Docker为数据存储提供的一种机制。通过Docker Volumes,你可以把文件夹映射到Docker容器中,这个文件夹可以在容器之外被创建和修改。以下是一个例子:

docker run -v /home/user/data:/app/data my-image

这会把本地/home/user/data文件夹,挂载到容器/my-image中的/app/data文件夹。在容器运行期间,这个文件夹的内容可以在本地和容器之间实时同步。

当然,还有其他一些选项:

-v, --volume list            给容器挂载一个卷
--mount mount              根据一个挂载点挂载一个卷
--volume-driver string     使用的卷驱动
--mount-driver string      使用的挂载驱动

例如,如果需要使用一个外部卷,可以使用以下命令:

docker run -v my-volume:/app/data my-image

这将会把my-volume挂载到容器中。