COPY và ADD đều là các chỉ dẫn lệnh Dockerfile có chức năng tương tự nhau. Chúng cho phép bạn sao chép các file từ một vị trí cụ thể vào Docker image.
COPY nhận một src và destination. Nó chỉ cho phép bạn sao chép một file ở local hoặc thư mục từ server của bạn (server để tạo Docker image) vào chính Docker image.
ADD cũng cho phép bạn làm điều đó nhưng nó cũng hỗ trợ 2 nguồn khác. Đầu tiên, bạn có thể sử dụng một URL thay vì một file/thư mục ở local. Thứ hai, bạn có thể trích xuất tệp tar từ nguồn trực tiếp vào đích.
Các bước:
- Tạo một image với lệnh ADD
- Gắn tag image của bạn là labs-add:v1.0
- Tạo container dựa trên image đó và xem tệp tar được giải nén.
Tạo Dockerfile
FROM alpine:3.5 RUN apk update ADD http://www.vlsitechnology.org/pharosc_8.4.tar.gz .
Build Docker image
docker build -t hocdevops/alpine-add . -f <name of dockerfile>
Gắn thẻ hình ảnh dưới dạng lab-add
docker tag hocdevops/alpine-add hocdevops/labs-add:v1.0
Xác minh image đã được build
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hocdevops/alpine-add latest cdf97cb49d48 38 minutes ago 300MB hocdevops/labs-add v1.0 cdf97cb49d48 38 minutes ago 300MB
Tạo một container
docker run -itd hocdevops/labs-add:v1.0 /bin/sh
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f0940750f61a hocdevops/labs-add:v1.0 "/bin/sh" 20 seconds ago Up 18 seconds distracted_darwin
Truy cập Container Shell
docker attach f094
Vui lòng nhấn phím “Enter” hai lần để vào vỏ container
Xác minh xem liên kết đã được trích xuất vào container chưa
/ # ls -ltr -rw------- 1 root root 295168000 Sep 19 2007 pharosc_8.4.tar.gz
ADD Command cho phép bạn thêm một tar trực tiếp từ một link vào vùng chứa.
