[英]Docker Container - ports settings
您能解釋一下與Docker容器端口有關的一件事嗎?
場景:我創建了一個新的Dockerfile和docker-compose.yml文件( https://github.com/fdolsky321/Jenkins_Docker ),並使用EXPOSE 49005以及將docker-compose.yml中的兩個端口都配置為49005。 (docker-compose中的卷設置正確嗎?我使用的是Windows 10 Pro)。
然后我將其構建並推送,最后,我使用了docker-compose up ...但是后來我看到,仍然存在默認端口8080和50000,請您解釋一下,怎么可能,仍在發生這些端口,我不想使用?
然后,我嘗試運行此映像,但是無法在任何端口(8080、50000、49005)上打開jenkins。 當我使用docker run命令時,它工作得很好,但是我想使用docker-compose.yml文件中使用的端口。
您能給我一些建議,即端口如何在docker中工作嗎?
這些端口可能未映射到正在運行容器的主機中。 docker-compose文件端口中有一個指令。 為了將端口映射到主機,只需指定關聯的端口,主機可以通過該端口訪問一個內部容器。 例如:
ports:
- 7777:7777
因此,可以通過主機上的7777訪問容器內部的7777。 左側主機一個,右側容器一個。 請參閱文檔以獲取更多詳細信息: https : //docs.docker.com/compose/compose-file/#ports
抱歉,如果我對您的問題理解不正確。
如果您運行docker ps
您將在容器的ports部分中看到類似0.0.0.0:49005->8080/tcp
的內容。
如果使用docker run,則需要docker run -p 49005:49005 my-image
要么
如果您使用的是docker-compose,則需要添加
ports:
- "49005:49005"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.