Docker 是一個開源的應(yīng)用容器引擎,可以將應(yīng)用程序的環(huán)境和依賴關(guān)系打包在一起,形成一個不依賴于具體操作系統(tǒng)的軟件容器。Docker 提供了一個輕量級的虛擬化解決方案,使得應(yīng)用可以更加容易地遷移和部署。
Docker 通過 Docker daemon(Docker引擎)和 Docker client(Docker客戶端)來使用和運行容器,還提供了一些命令行工具,例如 docker build、docker run、docker push 等,幫助用戶輕松地構(gòu)建、啟動和管理容器。
在 Docker 中,除了通過 Dockerfile 來構(gòu)建鏡像之外,還可以通過標(biāo)準(zhǔn)的 Docker Registry 在分布式環(huán)境中共享鏡像。默認(rèn)情況下,Docker 使用的是 Docker Hub 這個公共的 Registry,用戶可以在上面找到各種流行的鏡像,也可以自己創(chuàng)建私有的 Registry。
在 Docker 網(wǎng)絡(luò)中,Docker daemon 默認(rèn)監(jiān)聽在 0.0.0.0:4243 這個端口上,允許外部通過 HTTP 協(xié)議來訪問 Docker 守護(hù)進(jìn)程,從而完成 Docker 的一些操作。例如:
$ curl http://localhost:4243/_ping {"Ping":"OK"} $ curl http://localhost:4243/images/json [{"Id":"d9aee273b71e","RepoTags":["ubuntu:latest"],"Created":1556751997,"Size":725144195,"VirtualSize":725144195,"Labels":{}}]
不過,由于這個端口默認(rèn)是開放的,也容易受到外部攻擊,因此建議在生產(chǎn)環(huán)境中關(guān)閉 Docker daemon 監(jiān)聽的 4243 端口。