2017-02-10 35 views
0

我試圖將芹菜服務添加到彈性豆莖環境。所以我決定創建第一個用戶和組「芹菜」。我遵循http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-users頁的說明,我創建的配置:Elastic Bean Stalk - 添加用戶失敗

groups: 
    celery: 
    gid: "101" 

users: 
    celery: 
    groups: 
     - celery 
    uid: "1501" 
    homeDir: "/opt/python/celery" 

但是部署過程中,我得到錯誤:

[2017-02-10T08:59:23.899Z] INFO [16595] - [Application update [email protected]/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Activity execution failed, because: Failed to add user celery (ElasticBeanstalk::ExternalInvocationError) 

我也被對矯正HOMEDIR,和UID,以及登錄,並gruop ID,但它沒有幫助。如何解決它?或者如何通過彈性豆莖來調試useradding?

回答

1

解決方法使用命令部分:

groups: 
    celery: 
    gid: "101" 

commands: 
    command 00_add_user_celery: 
    command: useradd -d /opt/python/celery -g celery -u 1501 celery 
    ignoreErrors: true 
+0

我寧願將'ignoreErrors'設置爲'false'來避免意外。爲了使腳本正常工作,可以依靠測試選項。只需添加像'test:test! 「'id -u celery 2>/dev/null'」'到命令部分。 –

0

通過404pio解決辦法提供了一個解決方案,但ignoreErrors設置爲true可以隱藏驚喜錯誤。

我對那個答案進行了評論,但是格式有限且難以理解。這是提高對錯誤情況的方式:

groups: 
    celery: 
    gid: "101" 

commands: 
    command 00_add_user_celery: 
    test: test ! "`id -u celery 2> /dev/null`" 
    command: useradd -d /opt/python/celery -g celery -u 1501 celery 
    ignoreErrors: false 

ignoreErrors: false是默認的,也可以省略。

相關問題