第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在開發(fā)中的 docker 容器的卷中創(chuàng)建新圖像或共享源代碼?

在開發(fā)中的 docker 容器的卷中創(chuàng)建新圖像或共享源代碼?

撒科打諢 2022-06-30 11:41:12
我想知道在運(yùn)行的 docker 容器中更新源代碼的最佳做法是什么(在 JAVA 和 python 中)。我可以修改我的代碼,創(chuàng)建一個(gè)新圖像并運(yùn)行一個(gè)容器。在 Java 中,我還需要編譯代碼。另一種解決方案是只使用一個(gè)卷在我的機(jī)器和容器之間共享代碼,這樣每次我修改代碼的行為時(shí),我都不需要?jiǎng)?chuàng)建新的 docker 鏡像。我問所有這些是為了開發(fā)目的,而不是部署這兩個(gè)解決方案之間是否有最佳實(shí)踐?優(yōu)缺點(diǎn)都有什么?與 python 相比,像 java 這樣的編譯語言有區(qū)別嗎?
查看完整描述

4 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

這是我的問題,我以這種方式找到了它對(duì)于開發(fā),您可以綁定一個(gè)卷。在這個(gè)例子中,我假設(shè)你已經(jīng)在 3000 上暴露了一個(gè)端口,而不是一個(gè)絕對(duì)項(xiàng)目地址注意如果你在你的 shell 中的項(xiàng)目目錄中,你可以使用 $(pwd)

docker run -d -p 3000:3000 -v absolute-project-address:/app image-name

你也可以添加你的卷名來存儲(chǔ)數(shù)據(jù)

docker run -d -p 3000:3000 -v absolute-project-address:/app -v volumeName:/app/data image-name

但是為了生產(chǎn),你必須創(chuàng)建一個(gè)圖像


查看完整回答
反對(duì) 回復(fù) 2022-06-30
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

您絕對(duì)應(yīng)該制作一個(gè)新圖像,而不是通過已安裝的卷共享代碼。那么整個(gè) docker 的思想就是產(chǎn)生一個(gè)自包含的“服務(wù)”,它可以跨服務(wù)器移植(即復(fù)制圖像)。Yuo docker 文件和鏡像構(gòu)建過程將跟蹤您的代碼版本,即在您的 docker 文件中,您可以拉取特定分支,或者您可以使用特定標(biāo)簽標(biāo)記鏡像。在安裝卷的情況下,您永遠(yuǎn)無法確定您的代碼實(shí)際上是什么版本。跑。

希望僅憑這個(gè)原因就可以幫助您做出決定。


查看完整回答
反對(duì) 回復(fù) 2022-06-30
?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

一般來說,最好的做法是在您擁有新的源代碼并從該圖像運(yùn)行新容器時(shí)創(chuàng)建一個(gè)新圖像。Docker 可以快速創(chuàng)建和運(yùn)行新鏡像,所以你應(yīng)該利用它。此外,您可以通過標(biāo)記圖像來了解您正在運(yùn)行的代碼版本。

您提到您需要在 Docker 案例中編譯 Java 代碼,但在任何一種情況下都需要。您可以將您的代碼編譯成一個(gè) Jar,然后將 Jar 添加(或復(fù)制)到您的容器中并在那里運(yùn)行它。

使用外部代碼方法會(huì)想到一些快速的缺點(diǎn):您需要一些外部方法來管理正在運(yùn)行的代碼版本,docker tags 會(huì)為您處理。您還需要一些方法來提醒 Docker 容器一個(gè)新的可執(zhí)行文件已準(zhǔn)備好,然后讓 Docker 運(yùn)行它。此外,您需要確保您的 Docker 容器運(yùn)行的 Java(或 Python)版本與您的系統(tǒng)運(yùn)行的版本相同,這在 Docker 中也得到了處理,因?yàn)槟梢詮?Java 基礎(chǔ)映像構(gòu)建。


查看完整回答
反對(duì) 回復(fù) 2022-06-30
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

您應(yīng)該創(chuàng)建一個(gè)新映像,如果您認(rèn)為創(chuàng)建一個(gè)新映像和部署是您的任務(wù),那么您可以設(shè)置一個(gè) CI/CD 管道,它將自動(dòng)編譯 java 代碼、創(chuàng)建一個(gè)映像并在您隨時(shí)為您部署它將代碼推送到 GIT。



查看完整回答
反對(duì) 回復(fù) 2022-06-30
  • 4 回答
  • 0 關(guān)注
  • 128 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)