我在mac os上安裝docker。我知道在我的mac os和docker鏡像之間安裝並運行了docker-machine。當我啓動一個docker映像時,我無法從mac os ping圖像,而是必須從docker-machine連接到這些映像。我想知道是否有辦法讓我連接到mac os的docker鏡像。如何連接到mac os上的docker映像
回答
這是我理解它的方式:
泊塢窗機就像一個虛擬機。容器基於虛擬機(docker-machine),但與其他容器(它有自己的文件系統,進程樹等)完全隔離。圖像只是一組已經保存在一起的容器。所以「圖像」這個詞和「容器」這個詞可以在一些情況下相互混合。容器通常是指圖像的最頂層(並且是「寫入」層)。
我解決這個問題的原因是因爲從你的問題來看,我不完全確定你嘗試使用什麼術語。
您可以同時連接到docker-machine映像以及容器。
ssh到運行的容器,你可以使用
docker exec -it CONTAINER_NAME bash
ssh到正在運行的泊塢窗機圖像,你可以使用
docker-machine ssh DOCKER_IMAGE_NAME
我能想到的原因,只有少數你可能希望SSH進入docker-machine,但是可以使用上面的命令。幾乎總是,您將與碼頭集裝箱合作。這就是Docker的首要原因 - 一個容器管理系統。
這通常是通過將端口暴露給碼頭機來完成的。例如,你可以映射SSH端口是這樣的:
docker run -d -p 2022:22 my-image
這將泊塢窗機上綁定端口2022到端口22的容器內。現在,您可以通過使用泊塢窗機的IP,像這樣的(假設default
泊塢窗機)訪問:
ssh -p 2022 [email protected]$(docker-machine ip default)
當然,這需要你的容器暴露在端口22上的服務你必須請參閱您的容器的文檔以查看哪些服務正在暴露。
如果需要,您還可以通過localhost
配置對服務的訪問,而不是使用碼頭機IP。這樣做需要在您的docker-machine驅動程序中進行一些網絡配置。假設您正在使用VirtualBox(Mac OS X安裝的默認驅動程序),則可以在VirtualBox UI中或通過VBoxManage
(以下文檔鏈接)配置端口轉發。
泊塢文檔暴露的端口:端口轉發https://docs.docker.com/engine/reference/run/#expose-incoming-ports
VirtualBox的文件: https://www.virtualbox.org/manual/ch06.html#natforward
這種方式適用於一個碼頭圖像。如果我有多個docker映像運行,我必須爲不同的docker映像分配不同的端口。有沒有另一種方法讓我通過IP地址訪問碼頭圖像? –
你是對的@趙一,你將不得不爲每個容器映射一個端口。我不知道任何其他方式。 –
- 1. 在mac os上運行clickhouse docker映像時出錯
- 2. 如何將MarkLogic連接到Tableau(Mac OS)?
- 3. Docker-Mongodb - 如何連接到本地的mongo映像(windows)
- 4. Docker基本映像運行緩慢Mac OS X
- 5. 在Mac OS上的MySQL連接訪問
- 6. 無法在SQL服務器上連接到Docker上的mac
- 7. Mac OS X上的Vagrant,Docker和Node.js
- 8. 運行mac osx安裝的docker映像
- 9. 在安全Shell連接的Mac OS上的C++,如何運行?
- 10. 無法連接到OS X上發佈的Docker端口
- 11. 在Docker上連接到MySql
- 12. 無法連接到Mac上的Docker守護進程
- 13. 在mac os x上運行docker with boot2docker?
- 14. 如何連接到Mac上的Docker(1.12.0)容器中的Postgres服務器?
- 15. 如何將iPhone連接到Mac OS X的Safari控制檯?
- 16. 如何在Mac OS X上添加Docker的bash命令完成?
- 17. 在Mac OS X上的JRockit Mission Control連接到遠程JVM
- 18. 將mac os x php連接到vmware上的oracle XE
- 19. 無法連接到docker docker鏡像中的守護進程docker
- 20. Docker文件權限在Mac OS上的Docker-compose && dockerfile
- 21. Mac OS X磁盤映像驗證
- 22. 如何使用Selenium Docker映像連接到本地主機站點?
- 23. MAMP Pro:如何通過網絡連接到Mac OS上的MySql服務器?
- 24. Windows的Docker映像
- 25. 如何從Mac OS終端連接到遠程mongo服務器
- 26. 如何連接到主機上的Docker上運行的MySQL
- 27. 安裝後無法在Mac OS X上連接到Postgresql
- 28. 在Mac OS X上無法使用isql連接到SQL Server
- 29. 如何使用React Native連接到Android TV模擬器(在Mac OS上)?
我使用ansible,劇本對泊塢窗容器設置環境配置。 Ansible正在使用SSH,因此我需要從我的mac os運行ansible來配置我的docker容器。由於我的容器無法通過ssh從mac os訪問,所以我無法運行。那麼有沒有辦法讓我通過它的IP地址訪問這些容器? –
@趙一你可以使用VirtualBox直接切入。你可以使用配置加載你的機器而不是無頭的。我不完全確定這是否可以完成,但這是一個想法。 – CtheGood
@趙一你可以通過默認IP 192.168.99.100訪問容器,不是嗎?請參閱https://docs.docker.com/machine/get-started/:'docker-machine ip default' –