2 回答

TA貢獻1824條經(jīng)驗 獲得超8個贊
你真的需要oracle jdk嗎?在傳遞中,我使用來自 openjdk 的 Dockerfile 的內(nèi)容從節(jié)點構(gòu)建圖像并安裝了 java:https ://github.com/docker-library/openjdk/blob/master/8/jdk/Dockerfile
不過,在您的情況下,我會構(gòu)建一個集中式 selenium 服務(wù)器或使用directConnect
CI 管道。

TA貢獻1802條經(jīng)驗 獲得超10個贊
Docker 會記住運行每個命令的結(jié)果,除非你明確告訴它不要(docker build --no-cache
)。apt-get update
特別是,如果它認為它已經(jīng)完成了這一步,它將跳過運行該步驟。
同時,Debian 和 Ubuntu 存儲庫更新頻繁,當(dāng)它們更新時,它們會刪除舊版本的軟件包。這意味著,如果您使用的是昨天版本的包緩存,您將收到“下載失敗”錯誤,就像您看到的一樣,直到您重新運行apt-get update
.
在 Docker 上下文中,對此的正確答案是始終在同一步驟apt-get update
中apt-get install
RUN
運行。你可能會改變你的結(jié)尾Dockerfile
看起來像
RUN apt-get update -y \ && apt install oracle-java8-installer oracle-java8-set-default
一旦你已經(jīng)過了最初的開發(fā)階段,apt install
在你的 Dockerfile 中只使用一個命令來安裝你需要的所有運行時依賴項可能是一個好習(xí)慣。
添加回答
舉報