国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何讓docker鏡像盡可能小

cncoder / 2181人閱讀

摘要:有問題請(qǐng)關(guān)注我的如何讓鏡像盡可能小很容器想到就是沒任何基礎(chǔ)鏡像有幾點(diǎn)要注意或者必須要用這種模式,如果直接會(huì)用去啟動(dòng),而沒有導(dǎo)致失敗二進(jìn)制程序必須靜態(tài)編譯,也就是不能依賴什么的動(dòng)態(tài)庫(kù)動(dòng)態(tài)編譯的程序這種情況下出來的程序可能會(huì)出現(xiàn)問

有問題請(qǐng)關(guān)注我的github: https://github.com/fanux

如何讓鏡像盡可能小

很容器想到from scratch, 就是沒任何基礎(chǔ)鏡像

FROM scratch
COPY p /
ENTRYPOINT ["/p"]

有幾點(diǎn)要注意:

ENTRYPOINT 或者CMD 必須要用[]這種模式,如果直接/p會(huì)用sh去啟動(dòng),而scratch沒有shell導(dǎo)致失敗

二進(jìn)制程序必須靜態(tài)編譯,也就是不能依賴libc什么的動(dòng)態(tài)庫(kù)

動(dòng)態(tài)編譯的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程序可能會(huì)出現(xiàn)問題:

standard_init_linux.go:175: exec user process caused "no such file or directory”

靜態(tài)編譯的bin程序,這是我們scratch需要的:

[root@dev-86-205 ci-sftp]# ldd p
    不是動(dòng)態(tài)可執(zhí)行文件

golang中靜態(tài)編譯命令:

go build --ldflags "-linkmode external -extldflags "-static”"

如果不靜態(tài)編譯那可能得拷貝一堆動(dòng)態(tài)庫(kù)到鏡像中,很多l(xiāng)owB就是那么做的

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/27064.html

相關(guān)文章

  • 從最簡(jiǎn)單的入手學(xué)習(xí) Docker (一)

    摘要:根據(jù)不同的項(xiàng)目,使用不同的鏡像,搭建開發(fā)環(huán)境而每一個(gè)應(yīng)用有自己一個(gè)獨(dú)立的運(yùn)行環(huán)境,互不干擾。如何測(cè)試人員還是運(yùn)維人員,也可以根據(jù)最新版本的鏡像來測(cè)試和部署新的測(cè)試環(huán)境和生產(chǎn)環(huán)境。下一步我們從如何利用已有的運(yùn)行項(xiàng)目來進(jìn)一步掌握。 showImg(https://segmentfault.com/img/remote/1460000011106825); 什么是 Docker Docke...

    blastz 評(píng)論0 收藏0
  • 從最簡(jiǎn)單的入手學(xué)習(xí) Docker (一)

    摘要:根據(jù)不同的項(xiàng)目,使用不同的鏡像,搭建開發(fā)環(huán)境而每一個(gè)應(yīng)用有自己一個(gè)獨(dú)立的運(yùn)行環(huán)境,互不干擾。如何測(cè)試人員還是運(yùn)維人員,也可以根據(jù)最新版本的鏡像來測(cè)試和部署新的測(cè)試環(huán)境和生產(chǎn)環(huán)境。下一步我們從如何利用已有的運(yùn)行項(xiàng)目來進(jìn)一步掌握。 showImg(https://segmentfault.com/img/remote/1460000011106825); 什么是 Docker Docke...

    livem 評(píng)論0 收藏0
  • docker 新手向 - 防止容器自動(dòng)退出的解決方案

    摘要:其實(shí)我們可以更優(yōu)雅的使用容器的和參數(shù)來將系統(tǒng)必有命令作為前置命令開啟常駐運(yùn)行,如此容器便不會(huì)自動(dòng)退出了。 本文主要簡(jiǎn)單介紹 docker 容器與前置進(jìn)程的關(guān)系,以及如何編寫 Dockerfile/docker-compose.yml 優(yōu)雅的讓容器可以常駐運(yùn)行。 docker 容器的生命周期是同容器中的前置進(jìn)程相關(guān)在一起的,這也是我們平時(shí)可能會(huì)遇到一些容器只是運(yùn)行幾秒便自動(dòng)退出的原因:因...

    Miyang 評(píng)論0 收藏0
  • 創(chuàng)建可能Docker 容器

    摘要:我一直在尋找盡可能小的容器入手,并且發(fā)現(xiàn)了一個(gè)鏡像是完美的,真正的完美它簡(jiǎn)潔,小巧以及快速。所以這可能就是最小的鏡像。盡管如此,這樣看起來會(huì)很復(fù)雜并且導(dǎo)致容器很大。 注:本文由 Adriaan de Jonge 編寫,本文的原文地址為 Create The Smallest Possible Docker Container 當(dāng)我們?cè)谑褂?Docker 的時(shí)候,你會(huì)很快注意到...

    yankeys 評(píng)論0 收藏0
  • 如何構(gòu)建一個(gè)簡(jiǎn)單的CAAS系統(tǒng)

    摘要:在系統(tǒng)出現(xiàn)前企業(yè)應(yīng)用架構(gòu)基本被等模式壟斷,直到的出現(xiàn)為我們打開了另一個(gè)扇大門,廢話不說了,我們直奔主題我們先了解下一個(gè)簡(jiǎn)單的系統(tǒng)是如何為用戶提供服務(wù)的企業(yè)用戶上傳它的應(yīng)用代碼或其他代碼托管方式,我們生成用戶應(yīng)用的鏡像,或者用戶直接上傳鏡像或 在CAAS系統(tǒng)出現(xiàn)前企業(yè)應(yīng)用架構(gòu)基本被IAAS/SAAS/PAAS等模式壟斷,直到docker的出現(xiàn)為我們打開了另一個(gè)扇大門,廢話不說了,我們直奔...

    wpw 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

cncoder

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<