2015-02-19 13 views
12

Tôi cố gắng để làm một kiểm tra cú pháp trên một kịch bản mới nổi sử dụng init-checkconf. Tuy nhiên khi tôi chạy nó, nó trả về ERROR: version of /sbin/initctl too old.initctl quá già mới nổi séc

Tôi không biết phải làm gì, tôi đã thử cài đặt lại phần khởi động nhưng không có gì thay đổi. Điều này đang được chạy từ bên trong một docker container (ubuntu: 14.04) mà có thể có một cái gì đó để làm với nó.

+0

bạn đã thử làm một 'apt-get update' trước khi cài đặt lại? –

+0

Tôi đã thực hiện, cập nhật, nâng cấp và sau đó cài đặt lại vẫn lỗi tương tự. – lochlanna

+0

Bạn đã tìm ra giải pháp chưa? – ogur

Trả lời

8

Tôi vừa gặp phải vấn đề tương tự.

Nhìn trong container:

[email protected]:/# cat /sbin/initctl 
#!/bin/sh 
exit 0 

tôi đã không kiểm tra nó hoàn toàn, nhưng tôi đã thêm dòng sau vào Dockerfile tôi:

# Fix upstart 
RUN rm -rf /sbin/initctl && ln -s /sbin/initctl.distrib /sbin/initctl 

Tôi nghĩ this link giải thích nó khá tốt:

Khi vùng chứa Docker của bạn khởi động, chỉ lệnh CMD được chạy. Các tiến trình duy nhất sẽ chạy bên trong thùng chứa là lệnh CMD và tất cả các tiến trình mà nó sinh ra. Đó là lý do tại sao tất cả các loại dịch vụ hệ thống quan trọng không được chạy tự động - bạn phải tự chạy chúng.

Đào xung quanh một số chi tiết, tôi thấy một hình ảnh Ubuntu chính thức có chứa một phiên bản làm việc của mới nổi: https://registry.hub.docker.com/_/ubuntu-upstart/

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