2016-11-20 129 views
0

我有一個遠程服務器 - 局域網外部,使用公共IP。我想創建一個簡單的啓動腳本,它運行我的容器並將其端口分享給外部世界。遠程訪問容器

我有以下腳本:

#!/bin/bash 

# 8088 should be open host port 
docker run -d -v /home/user/nb/:/root -p 8889:8088 kaggle/python jupyter-notebook --no-browser --port=8889 

sudo iptables -t nat -A PREROUTING -i em1 -p tcp --dport 8088 -j REDIRECT --to-port 8088 

但是,在執行腳本之後,我沒有在服務器上打開端口8088。

tcp  0  0 10.0.3.1:53    0.0.0.0:*    LISTEN  0   17333  -    
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  0   13560  -    
tcp  0  0 127.0.0.1:6010   0.0.0.0:*    LISTEN  1000  9643  -        
tcp6  0  0 fa81::3a6e:7afe:fe6b:52 :::*     LISTEN  114  17345  -    
tcp6  0  0 :::22     :::*     LISTEN  0   13562  -    
tcp6  0  0 :::8889     :::*     LISTEN  0   17509  -    
tcp6  0  0 ::1:6010    :::*     LISTEN  1000  9642  -  

所以我無法連接使用來自其他主機的瀏覽器,如:

[IPv4_OF_SERVER]:8088 

服務器運行的Ubuntu 14.04.5 LTS。

的腳本是基於 https://stackoverflow.com/a/22050818/902691

但我也嘗試另一種解決方案 - 端口的運行後在服務器關閉。

編輯: 根據@Felix端口的變化後:

$ netstat -anlet 
tcp  0  0 10.0.3.1:53    0.0.0.0:*    LISTEN  0   15758  
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  0   15404  
tcp  0  0 127.0.0.1:6010   0.0.0.0:*    LISTEN  1000  14823   
tcp6  0  0 fa81::3a6e:7afe:fe6b:52 :::*     LISTEN  114  13312  
tcp6  0  0 :::22     :::*     LISTEN  0   15406  
tcp6  0  0 :::8088     :::*     LISTEN  0   9985  
tcp6  0  0 ::1:6010    :::*     LISTEN  1000  14822  

$ docker ps 
CONTAINER ID IMAGE     COMMAND    CREATED   STATUS   PORTS     NAMES 
8c83ab3fb45c kaggle/python:latest "/usr/bin/tini -- ju 42 seconds ago Up 41 seconds 0.0.0.0:8088->8088/tcp angry_thompson 

回答

0

您定義的端口8889是用這部分內容公共領域到達: -p 8889:8088

如果你想能夠通過端口8088訪問容器,而不是將起始命令更改爲:-p 8088:8088

正如我所看到的,比你的IPv6地址綁定到該端口。爲了確保IPv4工作正常,您可以使用 -p IP:8088:8088-p 0.0.0.0:8088:8088

+0

我改變了它,但netstat仍然沒有看到LISTEN 8088端口。 – user902691

+0

你可以發佈'docker ps'的結果和新的netstat結果嗎? – Felix

+0

命令'docker ps' CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8c83ab3fb45c kaggle/python:latest「/ usr/bin/tini - ju 42秒前上傳41秒0.0.0.0:8088->8088/tcp angry_thompson 休息太長了評論我把它作爲編輯後添加。 – user902691