容器是一個普通的操作系統進程,但是這個進程是隔離的,它有自己的文件系統、自己的網絡和自己與主機分離的隔離進程樹。
為了運行容器中的圖像,我們使用這個docker run命令。docker運行命令需要一個參數,即圖像名稱。讓我們開始我們的圖像,并確保它正確運行。在終端中執行以下命令。當您在創建群時運行Docker群初始化時,Docker會將自己指定為管理器節點。
$ docker運行節點-docker
當您運行此命令時,您會注意到您沒有返回到命令提示符。這是因為我們的應用程序是一個REST服務器,它將循環運行,等待傳入的請求,并且在我們停止容器之前不會將控制權返回給操作系統。
讓我們打開一個新的終端,使用curl命令向服務器發送一個GET請求。
$ curl -請求開機自檢
-header ' content-type : application/JSON '
-數據“消息”:“測試”
curl:無法連接到本地主機端口8000:連接被拒絕
我們的curl命令失敗,因為與服務器的連接被拒絕。這意味著我們無法連接到端口8000上的本地主機。這是意料之中的,因為我們的容器是獨立運行的,包括網絡。讓我們停止容器,并使用本地網絡上發布的端口8000重新啟動它。
要停止容器,請按ctrl-c.這將使您返回到終端提示。
要為我們的容器發布端口,我們將在docker run命令上使用- publish標志。-publish命令的格式是(主機端口):(容器端口)。因此,如果我們想將容器中的端口8000暴露給容器外的端口3000,我們將把300033608000傳遞給-publish標志。如果您愿意,可以使用dockerswarminit命令的-external-ca標志來指定您自己的外部生成的根ca。。
啟動容器,將端口8000暴露給主機上的端口8000。
$ docker運行-發布8000:8000節點-docker
現在讓我們從上面重新運行curl命令。默認情況下,管理器節點生成新的根證書頒發機構和密鑰對,以保護與加入群集的其他節點的通信。記得開一個新的終端。
$ curl -請求開機自檢
-header ' content-type : application/JSON '
-數據“消息”:“測試”
代碼“:”成功,“有效載荷”:
成功!我們可以連接到在端口8000上的容器中運行的應用程序。切換回運行容器的終端,您應該會看到POST請求被記錄到控制臺。
2020-09-01t 17:36:0933608770信息:開機自檢/測試
按ctrl-c停止容器。 鄭重聲明:此文內容為本網站轉載企業宣傳資訊,目的在于傳播更多信息,與本站立場無關。僅供讀者參考,并請自行核實相關內容。
|