如何讓docker映象盡可能小

2021-09-14 08:00:04 字數 824 閱讀 1825

很容器想到from scratch, 就是沒任何基礎映象

from scratch

copy p /

entrypoint ["/p"]

有幾點要注意:

動態編譯的bin程式:

[root@dev-86-205 ci-sftp]# ldd p

linux-vdso.so.1 => (0x00007ffd6ef7b000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa28f94e000)

libc.so.6 => /lib64/libc.so.6 (0x00007fa28f58d000)

/lib64/ld-linux-x86-64.so.2 (0x00007fa28fb72000)

這種情況下出來的bin程式可能會出現問題:

standard_init_linux.go:175: exec user process caused "no such file or directory」
靜態編譯的bin程式,這是我們scratch需要的:

[root@dev-86-205 ci-sftp]# ldd p

不是動態可執行檔案

golang中靜態編譯命令:

go build --ldflags '-linkmode external -extldflags "-static」'
如果不靜態編譯那可能得拷貝一堆動態庫到映象中,很多lowb就是那麼做的

如何盡可能的避免漏測

在總結線上問題的時候,我們發現大部分的線上問題是由於功能漏測所導致的。原本應該測試的流程沒有測到,或者是根本沒有考慮到一些情況,這些都會產生漏測。在大部分的產品中,漏測是難以避免的,只要不出大問題,漏測的危害會被人為的粉飾和縮小,但是在某些跟貨幣或貨幣等價物打交道的行業,漏測往往意味著經濟損失,一次...

測試人員如何盡可能避免漏測

漏測是測試行業老生常談的話題,測試人員如果因為漏測出現很嚴重的生產事故,是要負全責的。一般公司都會根據生產事故的嚴重性採取一定的處罰措施。那麼問題來了實際生活中如何避免漏測?首先測試時間足夠的情況下,可以先根據需求拆分測試點,然後再根據測試點採用邊界值 等價類劃分 錯誤推測 經驗來設計測試用例。然而...

如何用VC MFC開發乙個盡可能小的程式???

前面有人說了,vc編譯出來的東西為什麼大,因為有runtime library,不管你要不要,都給你塞進去。所以,想 就要替換rtl。這個問題,你如果看看msdn裡關於vc linker的文件,你就會知道是怎麼回事,該怎麼做啦。下面這段程式,1 用自己程式中的入口替換rtl中的winmaincrts...