Tôi đang sử dụng vùng chứa docker để xây dựng và triển khai phần mềm của mình cho một bộ sưu tập của ec2. Trong kịch bản triển khai, tôi xây dựng phần mềm của tôi và sau đó đóng gói nó trong một hình ảnh docker. Hình ảnh được đẩy vào sổ đăng ký riêng của tôi, được kéo bởi sản phẩm ec2 của tôi và sau đó chạy. Vì vậy, về cơ bản tôi sẽ cần phải chạy docker trong một container docker.Chạy docker bên trong một container docker?
Vấn đề là tôi thực sự không thể bắt đầu docker trên vùng chứa của mình. Nếu tôi cố gắng
service docker start
tôi nhận được
bash: service: command not found
Và nếu tôi cố gắng
docker -d
tôi nhận được
2014/10/07 15:54:35 docker daemon: 0.11.1-dev 02d20af/0.11.1; execdriver: native; graphdriver:
[e2feb6f9] +job serveapi(unix:///var/run/docker.sock)
[e2feb6f9] +job initserver()
[e2feb6f9.initserver()] Creating server
2014/10/07 15:54:35 Listening for HTTP on unix (/var/run/docker.sock)
[error] attach_loopback.go:42 There are no more loopback device available.
loopback mounting failed
[e2feb6f9] -job initserver() = ERR (1)
2014/10/07 15:54:35 loopback mounting failed
Lệnh dịch vụ không tồn tại trên thùng Docker vì vậy tôi không thể bắt đầu docker. Tôi không chắc những gì tôi nên làm bây giờ để bắt đầu docker vì vậy tôi là một chút bị mắc kẹt ở đây, bất kỳ trợ giúp được đánh giá cao.
Một chút biết thêm thông tin
máy chủ đang chạy fedora 20 (cuối cùng sẽ được chạy amazon linux trên EC2)
Docker container được chạy centos 7.0
chủ đang chạy Docker phiên bản 1.2. 0, xây dựng fa7b24f/1.2.0
container đang chạy Docker-0.11.1-22.el7.centos.x86_64
Có một lý do để chạy centos/Docker 0.11 trong container? Nếu nó dành riêng cho chạy Docker bạn có thể sử dụng CoreOS hoặc một cái gì đó tương tự. – naneau
Thùng chứa centos không hoàn toàn dành riêng cho việc chạy docker, hầu như tất cả các nhiệm vụ của nó liên quan đến việc xây dựng và kiểm thử phần mềm. Tất cả mọi thứ chúng tôi làm được biết là chạy thành công trên centos vì vậy chúng tôi đã hy vọng để có thể tiếp tục sử dụng centos trong một container. –
Tôi nghĩ rằng "Docker way" vẫn sẽ được quay lên một container riêng biệt. Các thùng chứa thực sự phù hợp với việc chạy một ứng dụng duy nhất. Chúng không có nghĩa là thay thế các tác vụ được thực hiện tốt hơn bởi một máy ảo. Nếu bạn có một ngăn xếp phức tạp có nhiều nhiệm vụ, nó có thể giúp lan truyền một số nhiệm vụ đó để tách các thùng chứa. Một ví dụ về nhiệm vụ như vậy sẽ chạy các vùng chứa Docker khác. – naneau