2016-04-11 24 views
5

Tôi đã tạo Dockerfile để tạo hình ảnh của tôi có tên aii.docker run [9] Lỗi hệ thống: lỗi định dạng exec

FROM docker.io/centos:latest 

#Set parameters 
ENV BinDir /usr/local/bin 
ENV RunFile start-aii.sh 

ADD ${RunFile} ${BinDir} 
#Some other stuff 
... 

CMD ${RunFile} 

Khi tôi chạy hình ảnh với lệnh sau:

docker run -it -v <some-volume-mapping> aii 

nó hoạt động tuyệt vời (hoạt động mặc định của chạy CMD lệnh của start-aii.sh). Bây giờ, nếu tôi cố gắng thay đổi hành vi mặc định này và để chạy các hình ảnh với cùng một kịch bản ngầm (và thêm arg khác) tôi nhận được lỗi sau:

docker run -it -v <some-volume-mapping> aii start-aii.sh kafka 
exec format error 
docker: Error response from daemon: Cannot start container b3f4f3bde04d862eb8bc619ea55b7061ce78ace8f1984a12f6ec681877d7d926: [9] System error: exec format error. 

Tôi cũng đã cố gắng: chỉ kịch bản (không có Lập luận)

docker run -it -v <some-volume-mapping> aii start-aii.sh 

và đường dẫn đầy đủ đến kịch bản

docker run -it -v <some-volume-mapping> aii /usr/local/bin/start-aii.sh 

nhưng lỗi tương tự xuất hiện.

Một thông tin:

docker ps -a 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
2488a4dd7014  aii     "start-aii.sh kafka"  3 seconds ago  Created         tiny_payne 

Bất kỳ lời đề nghị?

Cảm ơn

Trả lời

3

Cố gắng bắt đầu bash trước khi sử dụng kịch bản của bạn, và sử dụng --rm cờ để tiêu diệt các dụ khi công việc được kết thúc, như thế:

docker run -it --rm -v <some-volume-mapping> aii /bin/bash /usr/local/bin/start-aii.sh 
+0

cảm ơn mẹo --rm, tôi không biết rằng .. Tôi đang kiểm tra về vấn đề bash, tôi sẽ cập nhật sớm – ItayB

+0

Hoạt động! 10x rất nhiều! – ItayB

4

Đã cùng một vấn đề, đã sửa nó bằng cách thêm #!/bin/sh ở đầu tệp thay vì có các nhận xét khác.

+0

Tuyệt vời! Cảm ơn vì tiền hỗ trợ ;-) – ItayB

Các vấn đề liên quan