我有一個應用程序需要主機上的一些二進制文件才能使基於Docker的應用程序正常工作。我可以使用碼頭註冊表發送圖像,但是如何將這些二進制文件發送到主機?創造deb/rpm似乎是一種選擇,但這將違背碼頭平臺獨立哲學。如何使用Docker鏡像打包文件
2
A
回答
0
如果您的映像基於包管理器的映像,您可以使用包管理器安裝所需的二進制文件,例如,
RUN apt-get update && apt-get install -y required-package
或者,您可以從互聯網上下載靜態鏈接的二進制文件並提取它們,例如,
RUN curl -s -L https://example.com/some-bin.tar.gz | tar -C /opt -zx
如果二進制文件作爲構建過程中創建的,你會希望將其複製過來
COPY build/target/bin/* /usr/local/bin/
0
如果你需要他們的泊塢窗圖像之外的主機上你可以做什麼這是。
它們添加到您的Dockerfile與ADD或COPY
也有一個安裝腳本它調用cp -f src dest
然後結合從主機安裝的安裝目錄容器到dest。
類似於以下示例:
例如, Dockerfile
FROM ubuntu:16.04
COPY file1 /src
COPY file2 /src
COPY install /src
CMD install
構建:
docker build -t installer .
安裝腳本:
#/bin/bash
cp -f /src /dist
安裝:
docker run -v /opt/bin:/dist
會導致文件1 & file2以主機上的/ opt/bin結尾。
相關問題
- 1. 如何在單個文件中打包docker鏡像
- 2. 如何在jenkins中使用Docker鏡像
- 3. Docker使用Docker文件創建鏡像「Ubuntu 14.04」
- 4. 如何拼合Docker鏡像?
- 5. 如何更新Docker鏡像
- 6. 如何使用自述文件將docker鏡像推送到docker hub?
- 7. 如何使用docker-machine安全的docker註冊表鏡像?
- 8. 如何訪問Docker鏡像中的JIRA軟件文件?
- 9. 如何使用docker run使用sed命令替換nginx docker鏡像的.conf文件上的文本?
- 10. 在另一個docker鏡像(php,nodejs,phantomjs)中使用單命令docker鏡像
- 11. Docker鏡像格式
- 12. Docker鏡像位置
- 13. 使用Docker鏡像/標籤添加自定義清單文件
- 14. 如何獲取Docker鏡像以運行可執行文件
- 15. 要使用哪個Tensorflow Docker鏡像?
- 16. 使用boot2docker保存Docker鏡像
- 17. 使用gcloud推送Docker鏡像失敗
- 18. 使用leiningen構建非uberjar Docker鏡像
- 19. Gitlab CI - 離線使用docker鏡像
- 20. 如何刪除推送的Docker鏡像?
- 21. 如何構建tensorflow的docker鏡像?
- 22. 如何構建Docker鏡像quciker
- 23. 如何在Docker鏡像中打開Ubuntu GUI
- 24. 如何在Alpine Docker鏡像上安裝gdbserver包?
- 25. 如何使用docker maven插件將文件從絕對路徑複製到docker鏡像
- 26. docker-compose有沒有辦法保存並打開docker鏡像?
- 27. 在Jenkins中構建Docker鏡像(在Docker鏡像中) - Cloud Docker代理
- 28. 我該如何使用Postgresql docker鏡像/容器?
- 29. 如何使用postgres docker鏡像保存數據?
- 30. 如何在convox中使用本地docker鏡像?
但是基於碼頭的應用程序應該在其容器中是自治的,不是嗎?如果沒有,你可以考慮一個docker運行的包裝器,它首先使docker cp? (如http://stackoverflow.com/a/22050116/6309) – VonC