Docker 是一個流行的容器平臺,可以在單個操作系統的基礎上運行多個容器。每個容器都有自己的文件系統、網絡和進程空間,用于隔離運行在同一主機上的應用程序。
Docker 容器和宿主機可以通過不同的方式進行通信,例如使用網絡、卷或共享文件系統。下面將介紹幾種 Docker 與宿主機通信的方法。
// 通過網絡通信 // 創建一個容器并將其綁定到主機端口 docker run -p 8080:80 nginx // 通過瀏覽器訪問 http://localhost:8080,即可訪問該容器中的 NGINX 服務 // 通過卷共享數據 // 創建一個卷并將其掛載到容器中 docker volume create myData docker run -v myData:/data alpine ls /data // 在容器內部創建一個目錄,并查看主機上的數據是否同步 mkdir /var/lib/docker/volumes/myData/_data/hello ls /var/lib/docker/volumes/myData/_data/hello // 通過共享文件系統訪問宿主機文件 // 創建一個容器并將主機上的目錄掛載到容器中 docker run -v /host/data:/data alpine ls /data // 查看主機上的文件是否同步到容器內部 ls /host/data
上述示例展示了 Docker 如何通過網絡、卷和共享文件系統與宿主機通信。使用這些方法可以方便地在主機和容器之間共享數據和資源,并簡化與其他容器和主機的通信。