最近在學習docker,今天了解了docker端口映射,給自己留個小筆記,也分享給大家
為什么要端口映射?
在啟動容器時,如果不配置宿主機器與虛擬機的端口映射,外部程序是無法訪問虛擬機的,因為沒有端口。
端口映射的指令是什么?
docker指令:docker run -p ip:hostport:containerport redis
使用-p參數會分配宿主機的端口映射到虛擬機。
ip表示主機的ip地址。
hostport表示宿主機的端口。
containerport表示虛擬機的端口。
支持的格式有三種:
ip:hostport:containerport:映射指定地址的指定端口到虛擬機的指定端口(不常用)
如:127.0.0.1:3306:3306,映射本機的3306端口到虛擬機的3306端口。
ip::containerport:映射指定地址的任意端口到虛擬機的指定端口。(不常用)
如:127.0.0.1::3306,映射本機的3306端口到虛擬機的3306端口。
hostport:containerport:映射本機的指定端口到虛擬機的指定端口。(常用)
如:3306:3306,映射本機的3306端口到虛擬機的3306端口。
如何查看是否映射成功?
使用docker ps命令查看
出現6379/tcp的表示宿主機并沒有打開與虛擬機的端口映射。
出現0.0.0.0:3306->3306/tcp表示宿主機的3306端口映射到了虛擬機的3306端口。
也可以使用docker port name查看端口映射情況。
表示虛擬機的3306端口映射到了主機的3306端口。
如果沒有任何回復,表示端口映射失敗。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.csdn.net/qq_29994609/article/details/51730640