如何访问Docker容器的数据( 没有映射到任何卷 ),当容器启动失败?
让我们说我开始这样的容器:
docker run -it --name testContainer ubuntu /entrypoint.sh
和entrypoint.sh由于某种原因后来无法继续运行(换句话说容器实际上不启动),但我想获得存储在该容器中的某个date(例如/ var / www / html / XYZ ), 我怎样才能做到这一点?
你可以在一个停止的容器上docker cp :
docker cp containername:/root .
这将从容器中的文件夹/根将所有内容(recursion)复制到主机上的当前目录$ PWD到./root
如果你需要shell访问,在途中可能是https://github.com/jpetazzo/nsenter
另一种方法是将停止的容器提交到临时映像,然后用可用的shell从该映像运行一个容器:
docker commit containername tmpimage
docker run -it tmpimage /bin/bash
如果图像定义了入口点,则必须replace它:
docker run -it --entrypoint=/bin/bash tmpimage
如果高山或其他发行没有bash更改bash灰或sh。