Yêu cầu Nov 3rd, 2022 9:01 a.m. 119 0 1
  • 119 0 1
0

Gradle and ADD/COPY jar file

Chia sẻ
  • 119 0 1

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 CÂU TRẢ LỜI


Đã trả lời Nov 4th, 2022 1:48 a.m.
0

ý 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
Chia sẻ
Avatar ken withs @kenwiths999
Nov 4th, 2022 3:02 a.m.

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 ?

Avatar Mai Trung Đức @maitrungduc1410
Nov 4th, 2022 3:46 a.m.

@kenwiths999

COPY elastic-apm-agent.jar /some/path/in/container

Ở trên có 2 phần:

  • COPY file elastic-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"]
Avatar ken withs @kenwiths999
Nov 4th, 2022 4:21 a.m.

@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"
Avatar Mai Trung Đức @maitrungduc1410
Nov 4th, 2022 5:07 a.m.

@kenwiths999 à mình hiểu ý bạn rồi.

Vậy thì phải search xem gradlew có support ko bạn ạ,

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí