Docker關於Container 容器端口的映射 (實戰)

實戰1:container 端口映射

1.啓動 container

命令:[root@localhost ~]# docker run -d  -p 80:80 docker.io/centos:httpd   /bin/bash -c /usr/local/bin/start.sh

解析:

-d 表示的是後臺運行

-p 表示端口

{

前面的80表示的是 物理機的端口號80

後面的80表示的是 容器的端口號 80

}

docker.io/centos.httpd這個是鏡像名

-c 是調用  後面的  /usr/local/bin/start.sh 表示的是容器中的一條命令

{

 

}

執行結果如下圖:

2.使用netstat 命令查看80端口

2.1 安裝netstat命令

[root@localhost ~]# yum install net-tools   # 安裝netstat 命令

2.2 使用netstat命令查看

[root@localhost ~]# netstat  -antup | grep 80   #查看80端口的信息

查看結果如下圖:

測試:http://192.168.1.133    #這個是Vmware 虛擬機中Linux的IP地址,而docker 是建立在這個Linux上的。

我們測試發現,我們無法連通到docker 的那個鏡像。我們經過排查發現問題在了 我們禁用了ipv4的轉發功能

解決方案:{

1、修改sysctl.conf,添加ipv4轉發爲打開狀態:

 [root@localhost ~]# vim /etc/sysctl.conf

在打開的文件中寫入內容:

net.ipv4l.ip_forward=1

2、重啓網卡嗎,使之生效:

 

  [root@localhost ~]# systemctl restart network

 

}

再次在物理機上的瀏覽器中輸入  http://192.168.1.133

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章