在Windows Server 2016上運行Linux Docker容器的方式是什麼?使用Windows的Docker很容易在Windows 10中完成。是否只有安裝Docker Toolbox並忽略內置容器功能的唯一方法?Windows Server 2016上的Linux Docker容器
回答
不幸的是,現在無法輕鬆安裝「Docker for Windows」工具。這個安裝程序提供了一個名爲MobyLinux的瘦虛擬機,它允許在Windows Server 2016上運行Linux容器。您可以在Docker論壇上找到hacky install attempt(我沒有嘗試過)。
作爲參考,有一個good discussion關於「Docker for Windows」幕後發生的事情。
現在可能,雖然不是簡單的安裝。請參閱以下[答案](http://stackoverflow.com/a/42978854/444244)。 – Boggin
@Boggin這是我在回答中提到的「hacky安裝嘗試」。 –
可以在W2016上使用Linux容器。這有點哈克,但。用戶「Algore」描述了它here,但我已經將它複製到此答案中,當然。
下載 「泊塢的Windows」:https://docs.docker.com/docker-for-windows/
在Windows 10安裝臨 「泊塢的Windows」。
複製
C:\Program Files\Docker
從Windows 10機器到C:\Program Files
在您的服務器2016年框。在W2016箱運行
install-windowsfeature hyper-v,containers
複製這些註冊表項到一個文件,並將其導入您的服務器2016箱(REG進口):
--- START ---
Windows註冊表編輯器5.00版
[HKEY_LOCAL_MACHINE \ SOFTWARE \泊塢公司]
[HKEY_LOCAL_MACHINE \ SOFTWARE \泊塢公司\泊塢]
[HKEY_LOCAL_MACHINE \ SOFTWARE \泊塢公司\泊塢\ 1.0]
「APPPATH」= 「\」 C:\ Program Files文件\泊塢\泊塢\泊塢爲的Windows.exe \ 「」
「BinPath」= 「\」 C:\ Program Files文件\泊塢窗\泊塢窗\資源\ BIN \ 「」
[HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \服務\事件日誌\應用程序\ DockerService ]
「EventMessageFile」= hex(2):43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,\ 00, 73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,2e,00,\ 4E,00,45,00,54,00,5c,00,46,00,72,00,61,00,6d,00,65,00,77,00,6f,00,72,00,6b, \ 00,36,00,34,00,5c,00,76,00,34,00,2e,00,30,00,2e,00,33,00,30,00,33,00,31, 00,\ 39,00,5c,00,45,00,76,00,65,00,6e,00,74,00,4c,00,6f,00,67,00,4d,00,65, 00,73,\ 00,73,00,61,00,67,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,00,00
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ com.docker。服務] 「Type」= dword:00000010 「Start」= dword:00000002 「ErrorControl」= dword:00000000 「ImagePath」= hex(2):22,00,43,00,3a,00,5c, 00,50,00,72,00,6f,00,67,00,72,00,61,00,\ 6d,00,20,00,46,00,69,00,6c,00,65, 00,73,00,5c,00,44,00,6f,00,63,00,6b,00,65,\ 00,72,00,5c,00,44,00,6f,00,63, 00,6b,00,65,00,72,00,5c,00,63,00,6f,00,6d,00,\ 2e,00,64,00,6f,00,63,00,6b, 00,65,00,72,00,2e,00,73,00,65,00,72,00,76,00,69,\ 00,63,00,65,00,22,00,00, 00
「DisplayName」=「Docker for Windows Service」
「ObjectName」=「LocalSystem」
「Description」=「運行Docker for Windows後端服務」
--- END ---
如果您希望docker for windows.exe自動啓動,您可以向currentversion \ run或計劃作業添加一個條目。
- 重新啓動計算機並運行PowerShell腳本
C:\Program Files\Docker\Docker\Resources\mobylinuxvm.ps1 -Create
一下這個PS1文件和通知,您可以設置各種選項。請參考以下網站:
https://docker-saigon.github.io/post/Docker-Beta/
https://jpetazzo.github.io/2013/10/16/configure-docker-bridge-network/
- 確保泊塢窗服務
com.docker.service
(start-service com.docker.service
)正在運行啓動C:\Program Files\Docker\Docker for Windows.exe
之前,如果在服務器核心和唐運行沒有托盤圖標,點擊「更改隱私設置」,當它開始進入設置(或修改程序數據中的json)後出現通知時
如果您在嘗試和重新構建時遇到問題,請查看C:\Program Files\Docker\Docker\Resources\forceremovedocker.ps1
文件以查找要刪除設置的位置,如C:\programdata
。我會建議不要運行該腳本,因爲它會刪除所有與Docker相關的東西。只需使用它的部分。
我遵循了這些步驟,並且能夠運行docker for windows,但由於某些原因bin路徑未被拾取,我無法在cmd中運行「docker」或「docker-compose」。除非我明確導航到文件夾,否則不會識別這些命令。有任何想法嗎? – chvndb
CLI工具是單獨安裝的。 Docker Engine [發佈](https://github.com/docker/docker/releases)和Docker Compose [發佈](https://github.com/docker/compose/releases)在GitHub上提供。 – Boggin
你是什麼意思,單獨安裝?在C:\ Program Files \ Docker \ Docker \ resources \ bin \下,CLI工具就是Docker for Windons安裝的一部分。最後,我只是將bin文件夾添加到我的$ PATH環境變量中。現在工作正常。 – chvndb
據this從斯特凡舍雷爾有可能服務器2016年的說明上運行Linux容器:
Hyper-V中
創建一個Linux泊塢窗機如果您想嘗試多架構,您還可以使用Docker-machine 來創建在Hyper-V中運行的Linux Docker引擎。我準備了一個 腳本,它將設置所有事情,因爲有一些已知問題。
C:\vagrant\scripts\create-hyperv-linux-docker-machine.ps1
這PowerShell腳本創建一個泊塢窗機和更新泊塢窗 引擎爲最新以便在Windows泊塢客戶端能夠 與Linux泊塢引擎通信。
使用Linux泊塢窗機
打開PowerShell的終端作爲管理員,並與
docker-machine env --shell powershell | iex
選擇了Linux 泊塢窗機現在用
docker run -it busybox uname -a
只需下載並安裝Windows Server 2016上的Docker https://www.docker.com/docker-windows
如果您使用Hyper-V作爲VM運行Windows Server 2016,請務必檢查此MS文檔https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization
- 1. Windows Server 2016上的Docker Datacenter?
- 2. Windows 2016:Docker容器錯誤
- 3. 從Docker部署Docker窗口容器到Windows Server 2016
- 4. 如何在Windows Server 2016上運行Linux Docker鏡像?
- 5. 在Windows Server 2016上安裝Docker TP4
- 6. 在Docker容器中運行Windows Server Core
- 7. Windows服務器上的Docker容器
- 8. 升級Azure上Windows容器上的Docker
- 9. Docker for Windows如何運行Linux容器?
- 10. 在docker窗口上運行linux容器
- 11. 想要在Azure上運行windows server 2016中的docker
- 12. 無法從Windows Server 2016主機到達Docker上的Apache
- 13. 如何在Windows Server 2016
- 14. 如何在Windows Server 2016上部署到遠程Docker主機?
- 15. 針對SQL Server的Windows Server 2016 Docker映像支持?
- 16. Azure上的Windows Server 2016未激活
- 17. 如何在Linux主機上運行Windows Docker容器?
- 18. Azure VM上的IIS問題Windows Server 2016
- 19. 是Windows Server Microsoft.Interop.Security.Azroles 2016
- 20. msdeploy.exe(在Windows Server 2016)
- 21. Windows Server 2016上的Stackoverflow異常(0xc00000fd)
- 22. 如何在Docker Windows Server容器中安裝Tomcat?
- 23. 出廠重置Azure上的Windows Server 2016
- 24. 如何過濾Docker Hub中基於Windows或Linux的容器?
- 25. 從Jenkins管道調用Docker容器,該容器也作爲Docker上的Docker容器運行(用於Windows 10)
- 26. 無法在Windows Server 2016上安裝Windows Server Containers TP4
- 27. 泊塢窗的Windows Server 2016和微軟構建工具上
- 28. 無法訪問docker for windows linux容器中的彈性搜索
- 29. 如何在Windows Server 2016上配置Service Fabric Cluster以便能夠運行Linux容器?
- 30. 無法訪問託管在Windows Server 2016中的Docker容器中的Asp.Net vNext應用程序Azure VM [解決]
您是否設法解決此問題? –