Copy file trong docker container về server host.

download

Sau khi bạn chạy một docker container, nhưng trong docker container đó bạn cần backup 1 file cấu hình.

Ví dụ file nginx.conf chẳng hạn. Hoặc file SSL certificate.

Bạn làm như sau:

#docker cp <containerID>:/path/to/nginx.conf /path/to/save/fileonhostserver

Cụ thể như sau:

#docker cp nginx_container_id:/etc/nginx/nginx.conf .

Câu lệnh trên copy file nginx.conf trên container đang chạy lưu về server host tại vị trí chạy lệnh trên.

Tuy nhiên ta không thể copy file trong thư mục : /proc, /sys, /dev, tmpfs, and mounts created by the user in the container.

Đối với trường hợp này ta sử dụng lệnh tar để copy bằng tay.

$ docker exec foo tar Ccf $(dirname SRC_PATH) – $(basename SRC_PATH) | tar Cxf DEST_PATH -

hoặc:

$ tar Ccf $(dirname SRC_PATH) – $(basename SRC_PATH) | docker exec -i foo tar Cxf DEST_PATH -

Leave a Reply

Your email address will not be published.