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 命令了。