1 回答

TA貢獻(xiàn)1804條經(jīng)驗 獲得超8個贊
如果主函數(shù)存在,則程序停止。什么都不會再運(yùn)行了。它將釋放任何使用的資源,例如文件描述符和數(shù)據(jù)庫連接。
在下面的程序中,我們永遠(yuǎn)不會看到完成打印。
func main() {
go func() {
time.Sleep(time.Minute)
fmt.Println("done")
}()
time.Sleep(time.Second * 3)
}
https://play.golang.com/p/kPKZDdMcduS
如果具有該主要功能的程序是容器的前臺進(jìn)程,則容器將作為其與容器的標(biāo)準(zhǔn)行為而關(guān)閉。
如果你運(yùn)行下面的例子,你可以觀察到容器在睡眠結(jié)束后是如何關(guān)閉的。
$ docker run --name sample busybox sleep 3 && docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fd4319261a0d busybox "sleep 3" 4 seconds ago Exited (0) Less than a second ago sample
如果正在運(yùn)行程序的容器被關(guān)閉,那或多或少就像您要拔掉計算機(jī)的插頭一樣。您的計算機(jī)上將不再運(yùn)行任何東西。不可能。
我鼓勵您自己創(chuàng)建一些測試場景并進(jìn)行驗證。
- 1 回答
- 0 關(guān)注
- 124 瀏覽
添加回答
舉報