詳解如何用alpine鏡像做一個(gè)最小的鏡像并運(yùn)行c++程序
需求
工作中我們?nèi)绻谱麋R像,一般都是直接pull官方鏡像,比如我們要運(yùn)行一個(gè)c++程序我們可能直接pull一個(gè)gcc,或者ubuntu鏡像就可以了,但是存在一個(gè)問題,我們只是要運(yùn)行一個(gè)c++程序卻要運(yùn)行一個(gè)ubuntu系統(tǒng),這是非常消耗資源的,所以就去網(wǎng)上搜了搜發(fā)現(xiàn)早期的docker都是使用alpine鏡像來做基礎(chǔ)鏡像,所以就用alpile鏡像來制作鏡像
dockerfile
FROM alpine:3.7 MAINTAINER Rethink #更新Alpine的軟件源為國(guó)內(nèi)(清華大學(xué))的站點(diǎn),因?yàn)閺哪J(rèn)官源拉取實(shí)在太慢了。。。 RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories RUN apk update \ && apk upgrade \ && apk add --no-cache bash \ bash-doc \ bash-completion \ && rm -rf /var/cache/apk/* \ && /bin/bash COPY a.out /bin CMD ["./a.out"]
問題:
a.out是我在宿主機(jī)上編譯的一個(gè)可執(zhí)行程序,但是新生成的鏡像是啟動(dòng)不了的,這就讓我很奇怪
改進(jìn):
后來想了想./a.out之所以不能夠運(yùn)行是因?yàn)閍.out是在我自己的ubuntu系統(tǒng)上編譯出來的,而我的鏡像確實(shí)alpine鏡像,所以解決這個(gè)文件就很簡(jiǎn)單了
方法一:
在ubuntu宿主機(jī)上下載交叉編譯工具,使用交叉工具編譯我們的源碼,生成可執(zhí)行程序
方法二:
我們可以偷個(gè)懶直接使用docker pull一個(gè)安裝了apline-gcc鏡像,在上面編譯好我們的源碼,將生成的可執(zhí)行程序放到apline鏡像就可以了
方法三:
我們可以在alpine鏡像中使用源碼進(jìn)行編譯
方法三 dockerfile
FROM alpine:3.7 MAINTAINER Rethink #更新Alpine的軟件源為國(guó)內(nèi)(清華大學(xué))的站點(diǎn),因?yàn)閺哪J(rèn)官源拉取實(shí)在太慢了。。。 RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories RUN apk update \ && apk upgrade \ && apk add --no-cache bash \ bash-doc \ bash-completion \ && rm -rf /var/cache/apk/* \ && /bin/bash RUN apk add gcc RUN mkdir /chun COPY hello.c /chun WORKDIR /chun/ RUN gcc hello.c CMD ["./a.out"]
到此這篇關(guān)于詳解如何用alpine鏡像做一個(gè)最小的鏡像并運(yùn)行c++程序的文章就介紹到這了,更多相關(guān)alpine鏡像c++程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)樹之后序遍歷的實(shí)現(xiàn)
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之后序遍歷的實(shí)現(xiàn)的相關(guān)資料,這里提供一個(gè)簡(jiǎn)單實(shí)例來實(shí)現(xiàn)后續(xù)遍歷,對(duì)于數(shù)據(jù)結(jié)構(gòu)樹的學(xué)習(xí)很有幫助,需要的朋友可以參考下2017-07-07C/C++中接收return返回來的數(shù)組元素方法示例
return是C++預(yù)定義的語句,它提供了種植函數(shù)執(zhí)行的一種放大,最近學(xué)習(xí)中遇到了相關(guān)return的內(nèi)容,覺著有必要總結(jié)一下,這篇文章主要給大家介紹了關(guān)于C/C++中如何接收return返回來的數(shù)組元素的相關(guān)資料,需要的朋友可以參考下。2017-12-12