0
我想使用AWS CLI從映像啓動EC2實例我已經安裝了Docker,然後爲該實例提供一個腳本通過--user-data
從碼頭集線器中拉出圖像並運行該圖像。我的AWS CLI命令啓動實例,但看起來傳遞給--user-data
的腳本從未運行。從AWS CLI啓動EC2實例時未執行用戶數據腳本
的CLI命令是:
aws ec2 run-instances --image-id ami-xxxxx --count 1 --instance-type t2.micro --key-name xxxxx --security-groups xxxxxxx --user-data file:///Users/xxxxxx/startlb.sh
和startlb.sh
內容:
#!/bin/bash
docker pull xxxxxx && docker run -p 9000:9000 -p 9090:9090 -d xxxxxxx go run lbserver.go > /home/ec2-user/startup.log
我重定向命令泊塢窗進入startup.log的輸出,以查看是否發生任何標準輸出。當我登錄到實例時,日誌文件未被創建,導致我相信user-data
腳本從不運行。 docker images
和docker ps
都顯示實例上沒有圖像或容器。
該命令成功啓動實例,只是不需要拖動和運行docker容器(默認情況下,Docker在實例上運行,因此無需啓動它)。如果我將腳本的內容粘貼到終端並執行它,則會啓動實例,然後拉動容器並運行該容器,因此腳本沒有出現任何問題。
當您通過AWS Web控制檯查看實例的用戶數據時,用戶數據內容是否正確顯示? AMI是否實際安裝了cloud-init服務? –
這個文件startlb.sh的權限是什麼? – error2007s
檢查cloud-init日誌(可能是'/ var/log/cloud-init *')以查看腳本是否運行,但由於某種原因失敗。 –