📜  docker 访问容器中的文件 (1)

📅  最后修改于: 2023-12-03 14:40:50.452000             🧑  作者: Mango

Docker 访问容器中的文件

当我们使用Docker运行一个容器之后,可能需要在容器中访问一些文件或者将容器中的文件拷贝到本地进行开发或者调试。下面介绍几种在Docker容器中访问文件的方法。

使用docker cp命令

docker cp命令可以将容器中的文件拷贝到本地,或者将本地的文件拷贝到容器中。使用方法如下:

# 将容器内的文件拷贝到本地
docker cp <container_name>:<container_path> <local_path>

# 将本地文件拷贝到容器内
docker cp <local_path> <container_name>:<container_path>

其中,<container_name>为容器名字,<container_path>为容器中文件的路径, <local_path>为本地文件的路径。

例如,在容器中拷贝/data目录到本地/home目录下,可以使用以下命令:

docker cp mycontainer:/data /home
执行容器内的命令

可以通过docker exec命令在容器内执行命令。使用方法如下:

# 进入容器执行命令
docker exec -it <container_name> <command>

# 例如 进入容器并执行ls命令
docker exec -it mycontainer ls

其中,<container_name>为容器名字,<command>为需要执行的命令。

例如,进入容器中执行ls /root命令,可以使用以下命令:

docker exec -it mycontainer ls /root
使用volumes挂载目录

可以通过Volumnes的方式在容器与本地间共享数据。Volumnes会将本地文件夹挂在到容器的文件夹中,容器中的文件操作都会直接影响到本地文件夹中的文件。使用方法如下:

# 挂载volume
docker run -it -v <local_path>:<container_path> <image_name>

其中,<local_path>为本地文件夹路径,<container_path>为容器内文件夹路径。

例如,在运行容器时挂载本地/home目录到容器的/data目录,可以使用以下命令:

docker run -it -v /home:/data myimage

使用以上方法即可在Docker中访问容器中的文件。