如果我在Docker鏡像中運行sudo apt-get update並將其作爲容器運行,那麼是否還需要在計算機上sudo apt-get update?我仍然試圖圍繞Docker的工作原理,因爲我的大腦的一部分告訴我,在Docker容器中運行的所有東西都依賴於Docker容器中的所有內容,所以沒有必要sudo apt-get update機器也是這樣,我的大腦的另一部分是告訴我這是不對的,所以我現在很困惑。如果我在Docker鏡像中運行sudo apt-get update並將其作爲容器運行,那麼是否還需要在計算機上sudo apt-get update?
1
A
回答
0
每當你在泊塢窗container
或您的Dockerfile
內運行apt-get update
它實際上是創造它是將運行在特定的空間中的所有命令只在不影響你的物理服務器/環境只有容器和你的物理服務器自己獨立的空間/環境是分享相同的kernel
。因此,如果您運行的是apt-get update
或其他任何命令,它只會在您正在創建的泊塢窗容器或泊塢窗圖像中運行。
我強烈建議你閱讀這個答案,以便你對碼頭的理解。 docker and virtual machine
希望這會幫助你!
謝謝!
0
這些依賴關係並不像您所期望的那樣與您的docker主機相連(只要您沒有爲其安裝任何卷)。
您可以使用幾行代碼驗證您的建議。讓我們使用普通的Ubuntu的鏡像:
docker run --rm ubuntu apt-get install git
導致E: Unable to locate package git
。這是因爲軟件包從未使用apt-get update
更新過。
如果我們提供由這幾行的Dockerfile:
FROM ubuntu
RUN apt-get update
,並建立它得到一個新的形象
docker build -t myubuntu .
我們可以執行這樣
docker run --rm myubuntu apt-get install git
新形象
然後嘗試從官方存儲庫安裝git,因爲之前的映像已經執行編號apt-get update
。
但是,我不會建議在容器中通過apt-get
過期的圖像已過時。
相關問題
- 1. 將Docker鏡像作爲容器運行
- 2. 如果有人在ssh shell中調用passwd,我是否需要sudo作爲sudo?
- 3. 爲什麼我需要「sudo」來運行Moovweb服務器?
- 4. 運行pip/easy_install時,我需要sudo嗎?
- 5. 運行maven作爲sudo和沒有sudo是否有區別?
- 6. 要求sudo在OSx上運行ghci
- 7. 如果我在Docker容器中運行Node.js,是否需要反向代理?
- 8. Docker,在Windows上運行Macos Docker鏡像
- 9. 爲什麼Ansible不能像sudo用戶那樣運行Pip?
- 10. Rails的需要sudo來運行
- 11. 我需要將多臺計算機作爲一臺運行?
- 12. 如何在Docker鏡像的新容器中運行bash?
- 13. 使用sudo運行命令並進入根(sudo -i)並運行命令
- 14. 是否有可能在Windows上運行linux docker鏡像
- 15. 如何在Emacs中運行sudo命令?
- 16. 如何在java中運行sudo poweroff
- 17. 在Haskell中運行sudo命令
- 18. 在ec2實例上運行sudo命令
- 19. 檢查是否可以在Bourne shell中將命令作爲sudo運行?
- 20. 我應該在鏡像回購還是原版上運行BFG?
- 21. 在計算機上運行c#winform程序需要什麼
- 22. 在shell腳本中運行sudo -s
- 23. 使用「sudo gem update」的長期後果是什麼?
- 24. 如何運行使用Capistrano V3需要sudo的命令?
- 25. 如何在su下運行sudo?
- 26. 在我輸入的數據集中,Update方法是否作爲事務運行?
- 27. 在Qt QProcess中運行sudo命令
- 28. 無法在rails resque worker中運行sudo
- 29. tox在sudo中運行python命令
- 30. 在SQL的WHILE循環中運行UPDATE語句需要永久運行