docker 网络模式研究了许久,其实我们需要的是docker run -p 80:80命令
我们只是希望能够从外部访问到docker而已,并不需要去折腾该死的网络模式,桥接,host等等。
-p: 端口映射,格式为:主机(宿主)端口:容器端口
sudo docker run -t -i -p 5000:5000 ubuntu14.04/first
也可以这样
sudo docker run -t -i -p 5000:5000 -p 5022:22 ubuntu14.04/first
使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
➜ sudo docker pull nginx
Using default tag: latest
➜ docker run -P -d nginx:latest
9e777d40aee2116fb84f1f1542a5afe9a7bd3f03b97fbd1d2cc1db29bdd174c9 ➜ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9e777d40aee2 nginx:latest "nginx -g 'daemon of…" 14 seconds ago Up 13 seconds 0.0.0.0:32768->80/tcp naughty_babbage ➜ docker port 9e77 80/tcp -> 0.0.0.0:32768
在主机可以localhost:32768进行访问nginx服务器
这个网站总结的很好:http://www.runoob.com/docker/docker-run-command.html
外部访问docker容器(docker run -p/-P 指令)
https://www.jianshu.com/p/2b424c3bf0f7