iT邦幫忙

0

Docker container 找不到 ip !!

  • 分享至 

  • xImage

事情是這樣的,我按照步驟把指定的container開起來
https://ithelp.ithome.com.tw/upload/images/20211029/20143452T1sB65Xe0I.jpg
server看起來也順利的跑,然後我正很開心的打開瀏覽器輸入http://localhost:50000 結果出現無法連上這個網站!!

https://ithelp.ithome.com.tw/upload/images/20211029/2014345238A9TYiDmE.jpg
以下是我這個containerID的狀態
https://ithelp.ithome.com.tw/upload/images/20211029/20143452vu9sWRzqBG.jpg
謝謝各為前輩們/images/emoticon/emoticon41.gif

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

6
Ray
iT邦大神 1 級 ‧ 2021-10-29 20:58:32
最佳解答
  1. 你的 Container Expose 5000, 但是你打的 URL 是 :50000?
  2. 你有 IPv6!! 如果不打 localhost, 改打 http://127.0.0.1:5000 呢?
看更多先前的回應...收起先前的回應...

可能是使用了十倍券的緣故
/images/emoticon/emoticon06.gif

柴柴 iT邦新手 5 級 ‧ 2021-10-30 17:17:59 檢舉

raytracy
50000是我發文打錯了/images/emoticon/emoticon20.gif
然後我試著打上 http://127.0.0.1:5000
還是一樣耶QQ

柴柴 iT邦新手 5 級 ‧ 2021-10-30 17:19:33 檢舉

海綿寶寶
哈哈哈哈哈 幽默喔XD
我該去看個眼科了/images/emoticon/emoticon01.gif

柴柴 iT邦新手 5 級 ‧ 2021-10-30 18:20:57 檢舉

我有下這個指令
inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
https://ithelp.ithome.com.tw/upload/images/20211030/2014345213bKhYpvWd.jpg
然後發現是 172.17.0.2,但是一樣沒辦法
https://ithelp.ithome.com.tw/upload/images/20211030/20143452OF0FaTNkua.jpg
崩潰中~~~/images/emoticon/emoticon17.gif

Ray iT邦大神 1 級 ‧ 2021-10-30 20:32:12 檢舉

172.17.0.2 那個是 Container 內部網路的網段, 你從 Host 電腦是無法連上的....

請在 Host 電腦用 netstat -nat 指令看一下 Local address 有沒有:

0.0.0.0:5000

這行出現?

如果沒有的話, 那可能是 Docker 指令有誤, 沒有將 5000 port expose 出來...請用 Docker inspect 列出 Container 的 Network 參數看看?

如果有的話, 代表網路層沒問題, 那就要去查是否 Container 本身的 Web Server 有問題, 沒有回應你瀏覽器的要求?...你可以先進入 Container 裡面用 curl localhost:5000 指令看看有沒有東西?

柴柴 iT邦新手 5 級 ‧ 2021-10-31 11:47:05 檢舉

終於找到解答了!!(感動)
透過raytracy大神的線索,加上https://github.com/docker/for-win/issues/204 這篇問答的參考,
我下了 docker-machine ip 這個指令
https://ithelp.ithome.com.tw/upload/images/20211031/20143452gXEZyMYiVT.jpg
然後打上 http://192.168.99.100:5000 就成功連上了~~
https://ithelp.ithome.com.tw/upload/images/20211031/20143452yuNWm5WZ4g.jpg
雖然不知道為什麼是出現在這個192.168.XX地址而不是在localhost不過還是很感謝raytracy大神的回覆/images/emoticon/emoticon41.gif

ip會是 192.168.xx.xx 的原因大概是因為 docker-machine的關係
在 windows 的docker-machine其實是起一個VM
那個 ip 大概就是 VM 的ip

因為docker其實是使用linux kenel作為基礎的
所以windows系統要起一個linux VM跑docker

0
fnsne
iT邦新手 5 級 ‧ 2021-11-03 14:21:31

查了一下,發現應該是和我曾經發生過的錯一樣:
port mapping是要大寫的P
小寫p是別的功能
https://jiajially.gitbooks.io/dockerguide/content/chapter_fastlearn/docker_run/index.html

我要發表回答

立即登入回答