我有一個GitLab存儲庫,其中我有一個node.js應用程序與快速,我想「部署」此代碼到我的Ubuntu服務器遠程使用快速服務器,不僅本地,但我不不想安裝node.js,而是想嘗試使用Docker。 我已經閱讀了很多關於Docker的內容,並且我已經理解了基本的東西。我的問題是,如果我在Ubuntu服務器上安裝Docker,當我推入我的存儲庫時,如何在Docker上「部署」我的代碼?推送代碼到遠程Docker
回答
基本上,你必須分兩步進行分析。一種是dockerizing您的應用程序,這意味着爲您的存儲庫創建一個Docker鏡像。第二步是讓您的服務器使用此映像,可能會自動執行推送過程。所以我會這樣做:
- DockerizeDockerize您的應用程序。這意味着你有一個
Dockerfile
你創建一個包含你的應用程序的圖像,運行它,並可能導出一個端口使用它的外部。 - 在您的服務器上運行映像。您的服務器需要安裝
docker
,並且能夠獲得正確的映像(稍後會詳細介紹)。如果只使用一個圖像,則可以使用簡單的docker run
命令。如果涉及更多的部件,例如數據庫或網絡服務器,我會推薦使用docker-compose。 - 使圖像在您的服務器上可用。這裏有多個選項。您可以將您的圖像publish轉換爲Docker存儲庫(私有或公共),或者您可以將存儲庫下載到服務器中,然後在那裏構建映像。
- 最後,您需要綁定這些步驟。爲此,您需要一個hook對提交作出反應的服務器,您可以在該服務器上向服務器發送命令以獲取/構建映像,並運行較新的版本。
實際上,您在如何操作時有很大的靈活性。我將從一個更簡單的過程開始,在這個過程中,您可以在服務器上構建映像,並根據您的需要在其上構建該映像。
因此,Dockerize應用程序意味着創建DockerFile,然後是安裝了docker的服務器,使用hook必須每次推動,抽取代碼並一次又一次構建dockerFile,是嗎? – Piero
是的,通過dockerize我的意思是添加一個'Dockerfile'並讓你的應用可以作爲一個docker鏡像運行。然後鉤子讓你獲得最新版本,你可以在服務器內運行圖像。我認爲設置是最容易的。 –
Dokku是一個基於Docker的PaaS平臺,提供git push部署。它支持Heroku構建包建立一個運行你的應用程序或自定義Dockerfile deployments。
- 1. 推送到遠程分支
- 2. Git,推送到遠程
- 3. 源代碼樹:無法推送到我的遠程回購GitHub
- 4. 將代碼推送到Bitbucket
- 5. Git:如何跟蹤強制推送遠程代碼庫的人?
- 6. 我無法推送遠程git代碼中的文件
- 7. 推送到遠程git倉庫索引
- 8. 使用sourcetree恢復推送到遠程
- 9. 推送到git遠程分支
- 10. 推送到遠程分支拉請求
- 11. Git - 推送到遠程回購
- 12. 推送到遠程git服務器
- 13. git推送到遠程分支
- 14. 無法推送到遠程分支
- 15. git rebase後如何推送到遠程?
- 16. TortoiseGit:推送到新的遠程分支
- 17. 用TortoiseGit推送到遠程URL
- 18. 推送到遠程Mercurial存儲庫
- 19. git推送到遠程主分支
- 20. 推送到遠程服務器和Github
- 21. 推送到遠程GitHub存儲庫
- 22. git推送到遠程不接受
- 23. Git不推送新文件到遠程
- 24. 如何使用pygit2推送到遠程?
- 25. Git推送到遠程分支
- 26. Git文件推送到遠程撤消
- 27. 推送到遠程存儲庫時出現git推送錯誤
- 28. 遠程推送通知
- 29. 遠程推送通知
- 30. 當代碼被推送到遠程服務器時,maven dependency不支持
軟件建議中有類似的問題 - > https://softwarerecs.stackexchange.com/questions/44768/heroku-like-deployment-git-push-and-application-management-platform –