我有一個運行 springboot java 應用程序的 docker 容器。Dockerfile:# Create container with java preinstalledFROM openjdk:8-jdk-alpine# Create app directoryVOLUME /tmp# Handle ArgumentsARG JAR_FILEARG ENV_NAMEENV SPRING_PROFILES_ACTIVE=${ENV_NAME}RUN echo ${ENV_NAME}# Bundle app sourceCOPY ${JAR_FILE} app.jarCOPY application.yml application.yml# Run the serverENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.config.location=application.yml","-jar","app.jar"]現在,我需要在該容器中安裝一個自定義庫。我需要復制安裝,解壓縮,運行安裝腳本并回答提示(是/否)我知道最簡單的方法是連接到容器,安裝包并提交更改。首先 - 我使用以下方法啟動容器:docker run --name local-jdk8 -d openjdk:8-jdk-alpine下一步是復制數據并運行安裝腳本,但由于運行命令為空(“/bin/sh”),這意味著我無法運行,因此容器不斷退出docker exec -it local-jdk8 bash關于如何修改這樣的容器的任何想法?
2 回答

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
值得一提的是,這里有一個小技巧,可以讓您保持容器運行以修改和提交它:
docker run --name local-jdk8 -d openjdk:8-jdk-alpine tail -f /dev/null
此外,bash
容器上沒有安裝,因此sh
必須執行以下操作:
docker exec -it local-jdk8 sh
然而,修改Dockerfile
是更好的方法,因為您的更改會保留在代碼中,而不是在潛在的臨時容器上完成。
添加回答
舉報
0/150
提交
取消