新版本Docker映射
由于新版本使用自己的虛擬機(jī)技術(shù)映射很簡單,docker容器在啟動的時候软能,如果不指定端口映射參數(shù),在容器外部是無法通過網(wǎng)絡(luò)來訪問容器內(nèi)的網(wǎng)絡(luò)應(yīng)用和服務(wù)的。
亦可使用Dockerfile文件中的EXPOSE指令來配置堵腹。
-p指定要映射的端口,一個指定端口上只可以綁定一個容器
ip:hostport:containerport#指定ip星澳、指定宿主機(jī)port疚顷、指定容器port
ip::containerport#指定ip、未指定宿主機(jī)port(隨機(jī))禁偎、指定容器port
hostport:containerport#未指定ip腿堤、指定宿主機(jī)port、指定容器port
例如:
docker run -itd --name nginx -p 80 nginx
以上指令會將容器的80端口隨機(jī)映射到宿主機(jī)的一個端口上如暖。
將容器指定端口指定映射到宿主機(jī)的一個端口上
例如:
docker run -itd --name nginx -p 8080:80 nginx
以上指令會將容器的80端口映射到宿主機(jī)的8080端口上笆檀。
將容器端口映射到宿主機(jī)ip和端口上
例如:
docker run -itd --name nginx -p 192.168.1.55:8080:80 nginx
以上指令會將容器的80端口,映射到宿主機(jī)192.168.1.55的IP和8080端口上盒至。
舊版本Docker映射
由于舊版本使用的是virtualBox做虛擬機(jī)的所以端口映射方式不一樣
前面的端口映射是一樣的主要是后面代碼不一樣
例如:
docker run -itd --name nginx -p 8080:80 nginx
以上指令會將容器的80端口映射到宿主機(jī)的8080端口上误债。
打開虛擬機(jī) Oracle VM VirtualBox 找到default->右鍵設(shè)置
選擇網(wǎng)絡(luò)->高級->端口轉(zhuǎn)發(fā)
配置端口轉(zhuǎn)發(fā)規(guī)則
如:設(shè)置主機(jī)ip192.168.1.55 主機(jī)端口 8888 (通過IP:端口就可以訪問虛機(jī)),子系統(tǒng)端口(就是端口映射配置的端口-p 8080:80 )這里指8080