Làm cách nào để truyền các đối số vào Dockerfile?


120

Tôi đang sử dụng lệnh RUN trong vòng a Dockerfileđể cài đặt một vòng / phút

RUN yum -y install samplerpm-2.3

Tuy nhiên, tôi muốn chuyển giá trị "2.3" làm đối số. Lệnh RUN của tôi sẽ trông giống như sau:

RUN yum -y install samplerpm-$arg

Ở đâu $arg=2.3

Câu trả lời:


151

Bạn đang tìm kiếm --build-argARGhướng dẫn. Đây là những tính năng mới kể từ Docker 1.9. Xem https://docs.docker.com/engine/reference/builder/#arg . Điều này sẽ cho phép bạn thêm ARG argvào Dockerfilevà sau đó xây dựng với docker build --build-arg arg=2.3 ..


1
Sau khi làm tất cả những điều đó, tôi gặp lỗi ** Không có sẵn gói lấy mẫupm- $ arg. ** Có vẻ như giá trị đối số của 2.3 không bị thay thế.
meallhour

1
Bạn có thể sẽ cần tạo một câu hỏi mới với Dockerfile, lệnh được sử dụng để xây dựng và lỗi để tôi hỗ trợ.
Andy Shinn

2
những gì về biến env thay thế?
Alexander Mills
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.