2.2docker网络管理

2019-04-12  本文已影响0人  刘岩2019

一:docker端口映射

1.随机端口映射

# 创建启动容器的时候指定端口映射
# docker run 
#  参数: 
#   -P: 随机端口
docker run -itd --name nginx -P nginx 
# //不写bash,否则nginx默认指令不会执行,nginx服务不会启动

2.指定端口映射/指定多端口映射 (推荐)

# 使用的参数
#   -p : 手动指定端口
#   docker run -itd 
#     (1) -p 宿主机端口:容器端口
#     (2) -p 宿主机IP:宿主机端口:容器端口
#           找的宿主机端口是一个空闲的端口
# http协议: 使用端口: 80
# https协议: 使用端口: 443
# ssh安全无线传输协议 使用端口:22
# ftp 使用端口:21
# sftp 使用端口:22
docker run -itd --name mynginx -p 8888:80 nginx
# 多端口映射
docker run -itd --name mynginx -p 8888:80 -p 8080:443 nginx

一个IP :确定一个主机
一个端口: 确定一个进程

1.JPG

二:网络管理

1.网络管理相关命令

# docker network --help

# Usage:  docker network COMMAND

# Manage networks

# Commands:
#   connect     连接容器到指定的网络中
#   create      创建一个网络
#   disconnect  将容器从网络中删掉
#   inspect     查看网络相关的信息
#   ls          查看现有的所有网络
#   prune       删除所有的未使用的网络 -> 慎用
#   rm          删除一个或多个指定的网络
  
docker network ls

# NETWORK ID          NAME                DRIVER              SCOPE
# 951f7f5594c9        bridge                     bridge              local
# 1e5d47e7c511        host                       host                local
# 713535eaeb1a        none(自己搭建)     null                local

docker network inspect 网络名
docker network inspect mynetwork
  1. bridge 网络模式:虚拟出自己的网卡,有自己的网段,网关,IP,掩码
    (1)创建bridge网络:
# docker network create [OPTIONS] NETWORK
# 参数:
#   -d, --driver string        Driver to manage the Network (default "bridge")
#   --gateway strings      网关 IPv4 or IPv6 Gateway for the master subnet
#   --subnet strings       网段 Subnet in CIDR format that represents a network segment
docker network create mynetwork 

(2)自定义网段与网关:

docker network create --subnet 180.18.0.0/24  --gateway 180.18.0.1 mynetworktest1

docker run -itd --name xxx1 --network mynetworktest1 ubuntu bash

docker ps -a
docker inspect xxx1 
docker network inspect mynetworktest1

docker run -itd --name xxx2 ubuntu bash
docker network connect mynetworktest1 xxx2 

(3)在自定义网络中启动容器:

在启动容器的时候添加参数: 
# --network string                 Connect a container to a network (default "default")
docker run -itd --name test2 --network mynet work ubunt bash

(4)容器断开网络:

# docker network disconnect [OPTIONS] NETWORK CONTAINER
docker network disconnect mynetwork test2

(5)容器连接网络:

# docker network connect [OPTIONS] NETWORK CONTAINER
# 启动一个容器的时候, 这个容器会加入到默认的网络中
# 一个容器可以同时加入到n个网络中
# 容器和容器之间要进行通信前提: 这些容器必须在同一个网络中

docker network connect mynetwork test2

删除网络:
docker network rm mynetwork

3.host网络:和宿主机共用同一个IP地址

# host网络只能有一个
# 可以在启动容器的时候, 让容器加入到host网络, 或者通过 docker network connect加入到host网络
docker run -itd --network host --name hosttest ubuntu bash
上一篇 下一篇

猜你喜欢

热点阅读