Docker默認端口詳解

一、Docker默認端口映射

Docker容器可以向宿主機或其他容器暴露端口。默認情況下,容器內部的端口無法從外部訪問,需要使用端口映射來實現。由於Docker中有許多不同的網絡驅動程序,因此端口映射的細節可能會有所不同。

要將Docker容器的端口映射到主機上,在運行容器時使用-P或-p選項。使用「-P」將隨機選擇主機端口,而使用「-p」可以指定主機端口,如下所示:

 docker run -d -p 5000:5000 image_name

此命令將容器的端口5000映射到主機的端口5000。

二、Docker端口映射理解

端口映射實際上是將容器內部的端口暴露給外部網絡的過程。在容器內部運行的應用程序可能會監聽某個端口,而在容器外部的其他應用程序需要通過該端口與該應用程序進行通信。因此,端口映射是將容器內部端口與主機端口之間的連接建立起來的過程。

三、Docker默認端口號是多少

在Docker中,並沒有為每個容器自動分配默認端口號。應用程序需要在容器內部監聽端口,並在運行容器時明確指定端口映射。如果某個應用程序在Docker容器內部使用了默認端口,則該端口將在容器內部被佔用。

四、Docker端口

Docker端口是指Docker daemon所使用的端口。Docker daemon是Docker的核心組件,負責管理Docker容器和鏡像、實現容器之間的通信等。默認情況下,Docker daemon監聽Unix套接字/var/run/docker.sock和TCP端口2375。Unix套接字僅可通過主機上的本地進程訪問,因此默認情況下,Docker daemon使用TCP端口。

五、Docker默認端口是多少

默認情況下,Docker daemon使用TCP端口2375。如果您需要使用不同的端口,請在啟動Docker daemon時指定。要使用加密的Docker連接,請啟用自動證書管理功能,並使Docker daemon監聽安全端口2376。例如,您可以使用以下命令來運行Docker daemon:

$ sudo dockerd \
  --tlsverify \
  --tlscacert=ca.pem \
  --tlscert=server-cert.pem \
  --tlskey=server-key.pem \
  -H=0.0.0.0:2376

六、Docker Web默認端口

Docker Web默認端口是指Docker Web UI應用程序所使用的端口。但由於Docker已經不再維護其官方Web UI,推薦使用Docker第三方Web UI,如Portainer。對於Portainer,它可以綁定任何可用的端口,通過PUID和PGID(持久用戶ID和組ID)可以從宿主環境中加載用戶和群組。在運行Portainer容器時,指定映射端口:

$ docker run --detach \
  --restart always \
  --name portainer \
  --publish 9000:9000 \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer

七、Docker端口號

Docker容器可以使用任何空閑的端口號。但請注意,應用程序可能需要運行在特定的默認端口號上,而如果端口號被佔用,則可能會出現衝突。如果您需要使用特定的端口號,請將其指定為運行Docker容器的命令的一部分。例如:

docker run -d -p 80:8000 image_name

此命令將容器的端口8000映射到主機的端口80。

八、Docker默認佔用端口

在默認情況下,Docker並不佔用任何端口。然而,如果某個容器中運行的應用程序正在使用未經授權的端口,則可能會導致Docker daemon在嘗試打開另一個容器時出現端口衝突錯誤。因此,建議您在運行容器時指定端口映射,並確保容器內部的應用程序使用合法的端口。

九、Docker默認用戶名密碼

Docker並沒有默認的用戶名和密碼。相反,它依靠操作系統的用戶和組管理來為容器指定訪問憑據。在執行「docker run」命令時,Docker會向宿主機的用戶和組映射中查詢指定的PUID和PGID,以確定容器中運行的應用程序應以哪個用戶的身份運行。

如果您需要為Docker容器設置訪問憑據,可以在執行「docker run」命令時添加「-u」選項。例如:

$ docker run --detach \
  --env MYSQL_ROOT_PASSWORD=password \
  --publish 3306:3306 \
  --volume /my/own/datadir:/var/lib/mysql \
  --name mysql \
  --user 1000:1000 \
  mysql:latest

此命令將容器以UID 1000和GID 1000的身份運行,其中MYSQL_ROOT_PASSWORD環境變量指定了初始的MySQL root用戶密碼。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/206030.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-07 17:48
下一篇 2024-12-07 17:48

相關推薦

發表回復

登錄後才能評論