Gradle and ADD/COPY jar file
Bằng các sử dụng câu lệnh ./gradlew bootBuildImage
để build "java spring boot project" sang "Docker image"
Có cách nào mình có thể ném file "elastic-apm-agent.jar" vào docker image như "Docker file ADD/COPY" không ?
Chỉ cần image của project chứa thêm file mà mình mong muốn, Thks!
1 ANSWERS
ý bạn là sao?
Tức là bạn build bằng gradlew
trước rồi bây giờ muốn COPY jar
file vào container à?
Vậy thì bạn dùng COPY
cũng được mà?
COPY elastic-apm-agent.jar /some/path/in/container
Miễn là file jar này nằm trong image là được (chứ không phải container)
Theo cú pháp của bạn thì COPY elastic-apm-agent.jar /some/path/in/container
nằm ở đâu để thực hiện ?
COPY elastic-apm-agent.jar /some/path/in/container
Ở trên có 2 phần:
COPY
fileelastic-apm-agent.jar
từ môi trường gốc (máy gốc, máy bên ngoài) của bạn, tại folder cùng nơi bạn đang đểDockerfile
- đưa vào đường dẫn
/some/path/in/container
--- > ta được file jar tại địa chỉ/some/path/in/container/elastic-apm-agent.jar
.
Vậy thì khi bạn chạy container thì bạn chạy file jar tại địa chỉ kia:
CMD ["java", "-jar", "/some/path/in/container/elastic-apm-agent.jar"]
@maitrungduc1410
cảm ơn bạn, nhưng cú pháp ./gradlew bootBuildImage
sử dụng gradle plugin (gradle package) và nó không liên quan đến Dockerfile. Và mình muốn khi sử dụng câu lệnh này có thể copy file apm.jar vào image như Dockerfile ý, chứ không phải sử dụng Dockerfile. Bạn có thể test qua câu lệnh này để hiểu thêm về nó không ?
- cd đến gradle project có file gradlew.sh
- sử dụng câu lệnh để build image
./gradlew bootBuildImage --imageName="myproject/gradle:1.0"
@kenwiths999 à mình hiểu ý bạn rồi.
Vậy thì phải search xem gradlew
có support ko bạn ạ,