📅  最后修改于: 2023-12-03 14:40:50.452000             🧑  作者: Mango
当我们使用Docker运行一个容器之后,可能需要在容器中访问一些文件或者将容器中的文件拷贝到本地进行开发或者调试。下面介绍几种在Docker容器中访问文件的方法。
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
可以通过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中访问容器中的文件。