Docker之容器文件的上传和下载方式
作者:王廷云的博客
这篇文章主要介绍了Docker之容器文件的上传和下载方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1、上传文件到容器
上传命令
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
参数说明:
OPTIONS
: 可选参数为-L
,表示保持源目标中的链接;SRC_PATH
:为主机中要上传到容器的文件路径;CONTAINER
:为容器ID或容器名称;DEST_PATH
:为要存放上传文件的容器路径;
例如:
docker cp /home/temp.txt redis:/data/
表示上传主机目录为 /home/temp.txt 的文件到 redis 容器的 /data/ 路径下。
2、从容器中下载文件
下载命令为
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
参数说明:
OPTIONS
: 可选参数为-L
,表示保持源目标中的链接;CONTAINER
:为容器ID或容器名称;SRC_PATH
:为容器的文件路径;DEST_PATH
:为存放下载文件的主机目录路径;
比如:
docker cp redis:/data/temp.txt /home/
表示下载 redis 容器中路径为 /data/temp.txt 的文件到主键目录 /home/ 中。
3、进入容器中执行命令
Docker 容器相当于一个小型的 Linux 系统,我们可以在里面执行 bash 命令。
语法命令:
docker exec [OPTIONS] CONTAINER CONMAND [ARG...]
参数说明:
OPTIONS
:可选项参数,常用参数如下:-d
:分离模式,在后台运行;-i
:及时没有附加也保持 STDIN 打开;-t
:分配一个伪终端;CONTAINER
:为容器ID或容器名称;CONMAND
:执行(exec)容器的命令;ARG
:执行命令的可选参数;
实例:
在容器中以交互模式执行容器内的脚本:
[andy@local ~]$ docker exec -it redis /bin/bash /data/temp.sh hello world!
在容器中开启一个交互模式的终端:
[andy@local ~]$ docker exec -it redis /bin/bash andy@fd2a88f2a1e7:/data$ ls
进入容器之后就可以执行 bash 命令了。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。