端口映射

使用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

Docker学习笔记(二):端口映射与容器互联的更多相关文章

  1. Docker实战(五)之端口映射与容器互联

    除了网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问. 1.端口映射实现访 ...

  2. docker 实践五:端口映射和容器互联

    本篇是关于 docker 容器的端口映射和容器之间的互联内容. 注:环境为 CentOS7,docker 19.03. docker 的容器除了能连接网络外,在许多时候,我们需要让多个容器来协同完成任 ...

  3. 详解Docker 端口映射与容器互联

    详解Docker 端口映射与容器互联 1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行 ...

  4. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  5. Docker学习笔记之--.Net Core应用容器通过网桥连接Redis容器(环境:centos7)

    上节演示通过应用容器连接sql server容器,连接:Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7) 本节演示安装 redis容器,通过网桥连接 先决 ...

  6. Docker学习笔记二(linux下安装Docker)

    Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ...

  7. Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7)

    前一节演示在docker中安装mssql,地址:Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7) 本节演示 .Net Core项目容 ...

  8. docker——端口映射与容器互联

    在生产环境中,单个服务往往是独立的,但是服务与服务之间往往是相互依赖的,这样对于容器来说,容器之间就需要相互访问.除了网络访问之外,docker还提供了另外两种方式来满足服务的访问. 一:允许映射容器 ...

  9. Docker基础-端口映射与容器互联

    1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时, ...

随机推荐

  1. SpringCloud-Gateway 网关路由、断言、过滤

    Gateway 简介 是什么? Spring Cloud 全家桶中有个很重要的组件:网关.在 1.x 版本中使用的是 Zuul 网关,但是到了 2.x,由于Zuul的升级不断跳票,Spring Clo ...

  2. Python 删除含有只读文件(夹)的文件夹

    def rm_read_only(fn, tmp, info): if os.path.isfile(tmp): os.chmod(tmp, stat.S_IWRITE) os.remove(tmp) ...

  3. java 8 stream reduce详解和误区

    目录 简介 reduce详解 总结 java 8 stream reduce详解和误区 简介 Stream API提供了一些预定义的reduce操作,比如count(), max(), min(), ...

  4. java 8 Streams简介

    目录 简介 Functional Interface Function:一个参数一个返回值 BiFunction:接收两个参数,一个返回值 Supplier:无参的Function Consumer: ...

  5. zabbix自动监控钉钉报警

    钉钉报警 一:设置钉钉机器人  二:zabbix服务器server端配置 1.修改zabbix_server.conf文件 [root@server ~]# vim /usr/local/zabbix ...

  6. 【JAVA基础】06 面向对象

    1. 面向对象思想概述 面向过程思想概述 第一步 第二步 面向对象思想概述 找对象(第一步,第二步) 举例 买煎饼果子 洗衣服 面向对象思想特点 是一种更符合我们思想习惯的思想 可以将复杂的事情简单化 ...

  7. 1309:【例1.6】回文数(Noip1999)

    传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1309 [题目描述] 若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文 ...

  8. 搭建Springboot+mybatis+redis+druid

    2019独角兽企业重金招聘Python工程师标准>>> 准备工作 JDK:1.8 使用技术:SpringBoot.Dubbo.Mybatis.Druid 开发工具:Intelj ID ...

  9. iOS自定义tabBar

    在我们的项目中经常会自己自定义tabBar因为苹果自带的真的太丑了!也不满足我们的项目需求. 好 开始行动吧! 先上图看下我们最终实现的效果: 继承UItabBar自定义一个自己的tabBar .h# ...

  10. select函数的使用

    select函数是 I/O 复用中非常重要的一个函数,属于并发编程的.它能够监视我们需要监视的文件描述符的变化情况–读.写或者异常 1. 函数原型 #include <sys/select.h& ...