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
Docker学习笔记(二):端口映射与容器互联的更多相关文章
- Docker实战(五)之端口映射与容器互联
除了网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问. 1.端口映射实现访 ...
- docker 实践五:端口映射和容器互联
本篇是关于 docker 容器的端口映射和容器之间的互联内容. 注:环境为 CentOS7,docker 19.03. docker 的容器除了能连接网络外,在许多时候,我们需要让多个容器来协同完成任 ...
- 详解Docker 端口映射与容器互联
详解Docker 端口映射与容器互联 1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行 ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- Docker学习笔记之--.Net Core应用容器通过网桥连接Redis容器(环境:centos7)
上节演示通过应用容器连接sql server容器,连接:Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7) 本节演示安装 redis容器,通过网桥连接 先决 ...
- Docker学习笔记二(linux下安装Docker)
Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ...
- Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7)
前一节演示在docker中安装mssql,地址:Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7) 本节演示 .Net Core项目容 ...
- docker——端口映射与容器互联
在生产环境中,单个服务往往是独立的,但是服务与服务之间往往是相互依赖的,这样对于容器来说,容器之间就需要相互访问.除了网络访问之外,docker还提供了另外两种方式来满足服务的访问. 一:允许映射容器 ...
- Docker基础-端口映射与容器互联
1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时, ...
随机推荐
- 吃瓜的正确姿势,Python绘制罗志祥词云图
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 这篇文章中向大家介绍了Python绘制词云的方法,不难看出绘制词云可以说是一 ...
- 基于Koa实现留言版demo
学习node.koa,随手做了一个留言板demo. 基本功能如下: 未登录用户可以查看主题列表和主题内容. 用户注册和登录功能. 登录用户可以发表.修改.删除自己的主题. 登录用户主题列表下方有发表主 ...
- jeecg ant design vue 一些收藏
1关于 进来清除上次记录 找到src/permission.js下的
- 记使用STL与unique_ptr造成的事故-段子类比
最近由于业务需要在写内存池子时遇到了一个doule-free的问题.折腾半个晚上以为自己的眼睛花了.开始以为是编译器有问题(我也是够自信的),但是在windows下使用qtcreator vs2017 ...
- Jenkins(2)- 更改插件源为国内源
如果想从头学起Jenkins的话,可以看看这一系列的文章哦 https://www.cnblogs.com/poloyy/category/1645399.html jenkins插件清华大学镜像地址 ...
- 2019-2020-1 20199308《Linux内核原理与分析》第七周作业
<Linux内核分析> 第六章 进程的描述和进程的创建 6.1 进程的描述 操作系统内核实现操作系统的三大管理功能: 进程管理(进程)-核心 内存管理(虚拟内存) 文件系统(文件) 为了管 ...
- 日志分析工具ELK(一)
一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎 ...
- [Windows] 如何用编程的方式格式化硬盘
If memory serves, you're looking for SHFormatDrive(). Use the Format method of the Win32_Volume clas ...
- 【shell】Shell变量基础及深入
1. 什么是变量 变量就是用一个固定的字符串(也可能是字符数字等的组合),替代更多更复杂的内容,这个内容里可能还会包含变量和路径,字符串等其他内容. 变量的定义是存在内存中. x=1 y=2 2. 变 ...
- Windows10中打开git bash闪退解决方案
重装系统后打开gitbash莫名其妙闪退... 究其原因,好像是盗版系统的null.sys文件损坏 那就在这里附上null.sys文件的下载链接: https://pan.baidu.com/s/1V ...