Copy file trong docker container về server host.





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 -

Theo: http://manageitservice247.com/copy-file-trong-docker-container-ve-server-host/

Nhận xét

Bài đăng phổ biến từ blog này

Cách sử dụng sys.argv trong python.

Trang web medium.com chết, vì sao ?

Thiết kế một RESTful API bằng python và flask.