Tôi có một Playbook Ansible rất đơn giản, tất cả các phụ thuộc được cài đặt cho docker-compose và docker nhưng tôi gặp lỗi khi cài đặt docker-compose, đây là nhiệm vụ trên playbook của tôi để cài đặt docker-compose trong môi trường CentOS7.Lỗi khi cài đặt docker-compose sử dụng ansible-playbook
#ensure docker-compose and chmod +x /usr/local/bin/docker-compose
- name: Ensure docker-compose is installed and available
command: curl -L https://github.com/docker/compose/releases/download/1.7.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- name: Ensure permissions docker-compose
command: chmod +x /usr/local/bin/docker-compose
Các lỗi sau xuất hiện:
TASK: [Ensure docker-compose is installed and available] **********************
failed: [nutrilife-aws] => {"changed": true, "cmd": ["curl", "-L", "https://github.com/docker/compose/releases/download/1.7.0-rc1/docker-compose-`uname", "-s`-`uname", "-m`", ">", "/usr/local/bin/docker-compose"], "delta": "0:00:00.004592", "end": "2016-03-26 14:19:41.852780", "rc": 2, "start": "2016-03-26 14:19:41.848188", "warnings": ["Consider using get_url module rather than running curl"]}
stderr: curl: option -s`-`uname: is unknown
curl: try 'curl --help' or 'curl --manual' for more information
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/mmaia/playbook.retry
nutrilife-aws : ok=4 changed=0 unreachable=0 failed=1
Tôi loại mắc kẹt với lỗi đơn giản này cho một vài giờ. Tôi nhận lệnh từ trang docker chuẩn và được kiểm tra trực tiếp trong trình bao và nó hoạt động. Tôi cũng đã thử sử dụng dấu ngoặc kép để bọc xung quanh lệnh như lệnh: "curl ..." nhưng nó không thay đổi lỗi.
Điều này giống như một gợi ý khôn ngoan, cũng sẽ thử nó vì nó có vẻ là một "thực hành tốt" tốt hơn. Cảm ơn bạn! –
Câu trả lời của bạn đã giúp tôi rất nhiều. Tôi phải cài đặt 'linux-image-extra - $ (uname -r) 'như một gói trong danh sách yaml, nhưng tôi không thể. Goole giới thiệu cho tôi trang này và quan điểm của bạn về việc sử dụng 'sự kiện thu thập' đã giúp tôi. Bây giờ tôi có thể cài đặt thông qua 'linux-image-extra - {{ansible_kernel}} '. Cảm ơn –
Tôi cũng đề xuất sử dụng 'checksum' khi tải xuống tệp qua internet! –