Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu cách copy file từ docker container sang máy chủ và ngược lại. Đôi khi bạn có thể cần thực copy các file từ docker container sang máy chủ hoặc từ máy chủ sang docker container
Yêu cầu
- Hiểu các khái niệm cơ bản về docker
- Docker đã được cài đặt
Trong bài viết này chúng ta sẽ sử dụng docker images đơn giản là ubuntu, bắt đầu bằng cách chạy docker image như sau
docker run --name vm-ubuntu -d -it ubuntu bash
Câu lệnh trên dùng để chạy docker image ở chế độ tách biệt, chạy nền để có thể ssh vào images đang chạy như sau
docker exec -ti vm-ubuntu bash
Tiếp theo chạy câu lệnh ở bên trong như sau
echo "Hello there!" > example.txt
root@463d38186b14:/# cat example.txt Hello there!
Sau đó chạy lệnh exit
để thoát khỏi container đang chạy
Copy file từ Docker container sang máy chủ
Kiểm tra xem file có tồn tại hay không bằng câu lệnh như sau
docker exec -it vm-ubuntu ls -al
-rw-r--r-- 1 root root 13 Apr 29 06:54 example.txt
Bây giờ chúng ta sẽ thực hiện copy file example.txt
sang máy chủ như sau
docker cp vm-ubuntu:/example.txt .
Câu lệnh trên dùng để copy file example.txt
sang thư mục hiện tại
Chúng ta có thể xem cú pháp của câu lệnh trên như bên dưới đây
docker cp <docker-container>:<file-localtion inside container> <host-path-location>
docker-container
có thể là tên hoặc là các ký tự hash được sinh ra tự động
Copy từ máy chủ sang container
Chúng ta sẽ copy file của mình từ máy chủ sang docker container
docker cp ./hello.txt vm-ubuntu:/
Câu lệnh trên copy file từ máy chủ sang docker container
Khi chạy lệnh
docker exec -it vm-ubuntu ls -al
Bạn sẽ nhìn thấy danh sách các file tồn tại như dưới đây
-rw-r--r-- 1 root root 13 Apr 29 06:54 example.txt -rw-r--r-- 1 1000 1000 19 Apr 29 07:08 hello.txt
Bạn có thể tìm hiểu thêm về docker cp
ở đây