zoukankan      html  css  js  c++  java
  • Docker学习笔记(二):端口映射与容器互联

    端口映射

    使用docker run时,可以指定-P(大写)与-p(小写)参数映射端口。

    docker run -P

    -P(大写)会随机映射一个端口到容器的内部端口

    -> [feifei@ffmac.local] [~] docker run -Pd nginx
    993eb1ea540ef2314a31815a6605fe565031ffb07828a2c35fa11e2b4bb48114
    -> [feifei@ffmac.local] [~] docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                   NAMES
    993eb1ea540e        nginx               "nginx -g 'daemon of…"   5 seconds ago       Up 5 seconds        0.0.0.0:32771->80/tcp   upbeat_payne
    

    访问 http://127.0.0.1:32771/ 看到nginx欢迎页面。

    docker run -p

    -p(小写)可以指定端口,可以有以下格式:HostPort:ContainerPort,IP:HostPort:ContainerPort,IP::ContainerPort

    • 映射所有地址
      可以多次指定-p,不同宿主机端口可以映射到相同的容器内部端口,反之不可以。
    docker run -p 8000:80 -p 8001:80 -d --name cntr1 nginx
    
    • 映射指定地址指定端口
    docker run -p 127.0.0.1:8002:80 -d nginx
    
    • 映射指定地址任意端口
    docker run -p 127.0.0.1::80 -d nginx
    

    docker port

    docker port CONTAINER [PRIVATE_PORT[/PROTO]]
    查看容器端口映射:

    -> [feifei@ffmac.local] [~] docker port cntr1
    80/tcp -> 0.0.0.0:8001
    80/tcp -> 0.0.0.0:8000
    

    容器互联

    使用docker run时指定--link实现容器互联,格式是被连接容器名[:别名],别名可忽略。
    它会更新容器的/etc/hosts文件与环境变量,也就是env的内容。从下面的窗口2结果可以看到host文件与env的变化:

    // 窗口1
    -> [feifei@ffmac.local] [~] docker run --name link1 -it ubuntu
    root@a58c9864bb12:
    
    // 窗口2
    -> [feifei@ffmac.local] [~] docker run --name link2 --link link1:link1alias -it ubuntu
    
    root@cfcb707dfba3: cat /etc/hosts|grep link
    172.17.0.2	link1alias a58c9864bb12 link1
    
    root@cfcb707dfba3: env|grep link
    LINK1ALIAS_NAME=/link2/link1alias
    
  • 相关阅读:
    播放m3u文件时不能时时更新的问题
    Oracle视图详解
    Oracle视图的作用与安全性
    Ext GridPanel 表头合并
    [AJAX] 001 AJAX核心操作
    [Java] 系统环境变量配置
    [AJAX] 002 AJAX异步验证
    判断文章/帖子操作权限
    让Tee 7.x版本和FastReport 3.x版本共存
    mysql基本语句
  • 原文地址:https://www.cnblogs.com/flhs/p/12897723.html
Copyright © 2011-2022 走看看