# docker-cp
- 脚本类型: shell
- 脚本名称: docker-cp.sh
- 脚本描述: 从docker镜像复制文件到宿主机
- 运行环境: Linux, Mac
#!/bin/sh
# 从镜像中复制文件到宿主机
# Usage: ./docker-cp.sh <image name> <src> <dest>
# Example: ./docker-cp.sh ubuntu:latest /etc/hosts ./temp/hosts
# Author: LiDong
# Date: 2022-10-27
# 设置出错时退出
set -e
# 检查参数
if [ $# -ne 3 ]; then
echo "Usage: ./docker-cp.sh <image name> <src> <dest>"
echo "Example: ./docker-cp.sh ubuntu:latest /etc/hosts ./temp/hosts"
exit 1
fi
# 检查目标目录是否存在, 不存在则创建
if [ ! -d $(dirname $3) ]; then
echo "Create directory $(dirname $3)"
mkdir -p $(dirname $3)
fi
# 创建容器
container=$(docker create $1)
# 复制文件
docker cp $container:$2 $3
# 删除容器
docker rm -v $container
# 显示结果
echo "$2 -> $3"
echo "Done."