2016-07-19 42 views
0

我真的不希望它有可能在生產中運行docker-compose down。永遠。有沒有辦法用zsh或其他方式覆蓋該命令,如果在生產服務器上運行,只會引發錯誤?'碼頭合成'可以以某種方式阻止生產運行?

我們試圖將別名命令別名,但無濟於事。

+0

什麼是碼頭停機? –

+0

@michael_bitard Docker down是實質上銷燬所有Docker容器的命令。它可能會擦除生產數據,並且看起來很危險。 – Bat

+0

哎,這是一個碼頭寫作命令,不是碼頭一個 –

回答

2

我希望你不是爲了安全目的而這樣做?您可以通過從泊塢窗組中添加/刪除它們來控制哪些用戶可以和不可以管理泊塢窗服務(因此可以管理泊塢窗)。

如果你想防止自己意外地運行docker down,你可以寫一個包裝腳本:

#!/bin/bash 
for arg in "[email protected]";do 
    if [[ "$arg" = "down" ]];then 
     >&2 echo "ERROR: 'docker-compose down' has been disabled!" 
     exit 1 
    fi 
done 
/usr/local/bin/docker-compose "[email protected]" # Adapt to actual path to docker-compose binary if different 

在一個位置,你$PATH,例如將這個作爲docker-compose$HOME/bin/docker-compose並使其可執行。如果命令行包含down,它將退出,並向STDERR發出警告。

但是,這不會阻止任何具有惡意意圖和必要權限的人直接調用真正的docker-compose二進制文件。

+0

太棒了 - 謝謝 - 這只是爲了防止意外。 – Bat

相關問題