我需要从在 AWS Elastic Beanstalk 上运行的 docker 镜像中获取一个文件。
我可以通过 SSH 进入 EB 实例,但之后我不知道该做什么。
sudo docker images
显示两张图片,一张是我的应用程序名称,另一张名为aws-beanstalk/current-app
。
答案1
复制文件的一种方法是从容器中进行。如果您有一个正在运行的容器,请使用docker cp
它将文件传输到您的主机(在本例中为 EB 实例)。
运行docker ps
以获取容器 ID。如果您没有看到任何输出,请根据您感兴趣的图像启动容器。假设您的图像名称是“aws-beanstalk/current-app”-
docker run -ti --rm aws-beanstalk/current-app /bin/bash
然后从docker主机,例如将容器上/code/run.py下的文件传输到主机上的/tmp:
docker cp containerID:/code/run.py /tmp
containerID 是运行后看到的docker ps
您还可以使用docker exec -ti containerID /bin/bash
它来以交互方式处理已经运行的容器。