Docker 中的网络功能
  Docker 允许通过外部访问容器或容器互联的方式来提供网络服务。 
  
   
  
   
 
  
  
 
  
  
  
  
   
   
   
   
    
    
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
   
   
  
                
  外部访问容器
 
 
 
   容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映
  
 
  
   射。
  
 
 
  映射所有接口地址
 
 
 
   使用 hostPort:containerPort 格式本地的 5000 端口映射到容器的 5000 端口,可以执行
  
 
  
   $ sudo docker run -d -p 5000:5000 training/webapp python app.py
  
 
  
   此时默认会绑定本地所有接口上的所有地址。
  
 
 
  映射到指定地址的任意端口
 
 
 
  使用 ip::containerPort 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。
 
 
 
  $ sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py
 
 
 
  还可以使用 udp 标记来指定 udp 端口
 
 
 
  $ sudo docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
 
 
 
  容器互联
 
 
  
   容器的连接(linking)系统是除了端口映射外,另一种跟容器中应用交互的方式。
  
 
  
    该系统会在源和接收容器之间创建一个隧道,接收容器可以看到源容器指定的信息。
  
 
  
   $ sudo docker run -d -P --name web --link db:db training/webapp python app.py
  
 
  
   Docker 通过 2 种方式为容器公开连接信息
  
 
  
    环境变量
   
 
   
    更新 /etc/hosts 文件
   
 
    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号