雲計算核心技術Docker教程: Docker 容器連接

2020-11-24 TechWeb

容器中可以運行一些網絡應用,要讓外部也可以訪問這些應用,可以通過 -P 或 -p 參數來指定埠映射。

下面我們來實現通過埠連接到一個 docker 容器。

我們創建了一個 python 應用的容器。命令如下:

# docker run -d -P training/webapp python app.py

另外,我們可以指定容器綁定的網絡地址,比如綁定 127.0.0.1。

我們使用 -P 參數創建一個容器,使用 docker ps 可以看到容器埠 5000 綁定主機埠 32768。

我們也可以使用 -p 標識來指定容器埠綁定到主機埠。

兩種方式的區別是:

-P :是容器內部埠隨機映射到主機的高埠。

-p : 是容器內部埠綁定到指定的主機埠。

另外,我們可以指定容器綁定的網絡地址,比如綁定 127.0.0.1。例如:

# docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py

這樣我們就可以通過訪問 127.0.0.1:5001 來訪問容器的 5000 埠。

上面的例子中,默認都是綁定 tcp 埠,如果要綁定 UDP 埠,可以在埠後

面加上 /udp。例如:

# docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python

app.py

使用docker port 命令可以讓我們快捷地查看埠的綁定情況。例如:

# docker port adoring_stonebraker 5000

相關閱讀:

雲計算核心技術Docker教程:在Centos中安裝Docker

雲計算的主流容器平臺Docker架構分析

雲計算核心技術Docker教程:Docker容器使用

雲計算核心技術Docker教程: 構建web應用程式 

雲計算核心技術Docker教程: Docker鏡像使用

相關焦點

  • 雲計算核心技術Docker教程:Compose使用
    2.使用 docker-compose.yml 定義構成應用程式的服務,這樣它們可以在隔離環境中一起運行。3.最後,執行 docker-compose up 命令來啟動並運行整個應用程式。將可執行權限應用於二進位文件:$ sudo chmod +x /usr/local/bin/docker-compose創建軟鏈:$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose測試是否安裝成功:$ docker-compose version
  • 雲計算核心技術Docker教程:利用Dockerfile來創建鏡像
    在docker使用過程中,我們可以從已經創建的容器中更新鏡像,並且commit提交這個鏡像來創建新的鏡像,使用docker commit 來擴展一個鏡像比較簡單,但是不方便在一個團隊中分享此時我們可以使用 Dockerfile 指令來創建一個新的鏡像。
  • 雲計算核心技術Docker教程:Docker Compose的restart和rm命令詳解
    Docker-Compose restart命令可以重新啟動所有已停止並正在運行的服務,Docker-Compose rm命令可以刪除已經停止的容器,如果服務在運行,需要先docker-compose stop 停止容器。
  • CoreOS實踐指南(七):Docker容器管理服務
    其項目發起時間見下圖(出自成都ThoughtWorks技術雷達分享活動),Atomic和Ubuntu Core Snappy分別是RedHat和Canonical公司推出的預裝Docker的作業系統,目標也都是直指伺服器集群和容器化部署。應用容器「應用容器」現在對許多人已經並不陌生了。
  • 雲計算核心技術Docker教程:docker構建緩存介紹
    如果根本不想使用緩存,則可以使用命令--no-cache=true 上的選項docker build。4.除了ADD和COPY命令之外,緩存檢查不會查看容器中的文件來確定緩存是否匹配。例如,在處理RUN apt-get -y update命令時,不檢查容器中更新的文件以確定是否存在緩存命中。在這種情況下,僅使用命令字符串本身來查找匹配項。緩存無效後,所有後續Dockerfile命令都會生成新鏡像,並且不使用緩存。
  • 雲計算核心技術Docker教程:Docker Compose的pull和push命令詳解
    Docker-Compose pull命令可以拉取docker-compose.yml或者docker-stack.yml文件中定義的服務關聯的鏡像,Docker-Compose push命令可以將服務鏡像推送到registry/repository中。
  • 雲計算核心技術Docker教程:Dockerfile文件HEALTHCHECK命令詳解
    Dockerfile文件HEALTHCHECK指令是告訴 Docker 應該如何進行判斷容器的狀態是否正常,這是 Docker 1.12 引入的新指令。在沒有 HEALTHCHECK 指令前,Docker 引擎只可以通過容器內主進程是否退出來判斷容器是否狀態異常。很多情況下這沒問題,但是如果程序進入死鎖狀態,或者死循環狀態,應用進程並不退出,但是該容器已經無法提供服務了。在 1.12 以前,Docker 不會檢測到容器的這種狀態,從而不會重新調度,導致可能會有部分容器已經無法提供服務了卻還在接受用戶請求。
  • 微服務部署到docker中
    可以看到項目根目錄下新增一個名為Dockerfile的文件6.通過Xftp將項目從Windows下的磁碟位置拷貝到Linux的root目錄下二、Linux下通過Docker構建應用1.通過Xshell連接上Linux虛擬機,進入到項目目錄下
  • Docker & Singularity
    sudo service docker start假如想以非 root 用戶的身份使用 docker , 把用戶添加到 docker 用戶組即可。#非 root 用戶使用 dockersudo usermod -aG docker your-user直接在命令行下敲 docker就會有docker的各種命令以及幫助。docker運行需要鏡像,可以自己做也可以在docker hub上拉一個。一些簡單的命令網上很多就不囉嗦了。說下自己需要用的一個鏡像AnnotSV。
  • 將Docker與pipeline一起使用
    Jenkinsfile(聲明性管道)pipeline { agent { docker { image 'maven:3-alpine' args '-v $HOME/.m2:/root/.m2' } } stages { stage('Build') { steps { sh 'mvn -B' } } }}切換腳本管道 (高級)使用多個容器代碼庫依賴於多種不同的技術變得越來越普遍
  • 【最新版】Docker實戰總結
    簡單的理解,docker就是一個軟體貨櫃化平臺,就像船隻、火車、卡車運輸貨櫃而不論其內部的貨物一樣,軟體容器充當軟體部署的標準單元,其中可以包含不同的代碼和依賴項。 按照這種方式容器化軟體,開發人員和 IT 專業人員只需進行極少修改或不修改,即可將其部署到不同的環境,如果出現的故障,也可以通過鏡像,快速恢復服務。
  • Docker 容器 9 類 48 個常見故障的處理和使用規範 | 周末送資料
    --address /run/docker/containerd/docker-containerd.sock --namespace c rm <容器hash_id>docker start 容器13、docker重啟錯誤-重啟命令一直卡住systemctl restart docker 卡住未知原因:可能是啟動的容器數量過多
  • Docker v1.13.0 正式版發布,應用容器引擎
    可通過 docker plugin rm 命令卸載插件。Top 10 新增功能正式支持服務棧: docker stack正式支持插件:docker plugin添加在 Swarm 集群環境下對密碼、密鑰管理的 secret 管理服務:docker secret增加 docker system 命令
  • Docker 引擎概述
    Docker Engine 是一個開源的容器技術,被用來對你的應用進行容器化構建。Docker Engine 實際上是一個客戶端伺服器(client-server)應用:一個在伺服器上長期運行的被稱為 dockerd 的進程。一個指定結構的 APIs,這個 API 被用來與 Docker 守護進程進行通信。
  • 使用Jenkins、Docker 構建部署 Serverless 應用
    並且 Jenkins Pipeline 運行在容器中。 本文將介紹如何使用 Jenkins 和 Docker 構建並部署 Serverless 應用。 提示:用 PC 瀏覽效果更佳!
  • Docker 創建你自己的橋接網絡
    下面的例子顯示了如何創建一個橋接網絡: $ docker network create -d bridge my_bridge 參數 -d 用於告訴 Docker 在新的網絡中使用 橋接(bridge) 驅動。
  • SpringBoot+GitLab+Docker+Jenkins實現持續集成下
    核心配置文件application.properties由於我們是基礎入門項目,所以我們只需要新建一個application.properties文件放在resources目錄下(當然不放置也是可以的),內容為空即可。5.3.
  • Docker是什麼?有什麼用途?及理論知識詳細說明
    運維生成環境中:docker化。 發布服務不用擔心伺服器的運行環境,所有的伺服器都是自動分配docker,自動部署,自動安裝,自動運行 再不用擔心其他服務引擎的磁碟問題,cpu問題,系統問題了 資源利用更出色 自動遷移,可以製作鏡像,遷移使用自定義的鏡像即可遷移,不會出現什麼問題 管理更加方便了 為什麼docker越來越受歡迎 容器化越來越受歡迎
  • Docker邁入雲(DockerHub)+端(Docker引擎)時代
    IBM、Redhat、Rackspace等IT巨頭;6月10,谷歌宣布與Docker的全新整合方式,涉及的雲服務包括Google App Engine和Google Compute Engine,國內各大技術媒體大規模轉載相關新聞。
  • 基於TensorFlow 、OpenCV 和 Docker 的實時視頻目標檢測
    難點在於將網絡攝像頭流發送到 docker 容器並恢復輸出流以使用 X11 伺服器顯示它。將視頻流發送到容器Linux 系統可以在/ dev /目錄中找到攝像頭設備,並可以將其作為文件進行操作。通常筆記本電腦攝像頭是「0」設備。