6 docker网络基础配置

简介:
一、从外部访问容器应用
1、端口映射实现访问容器
root@docker-test:~# docker run -d -P training/webapp python app.py
61975c6a1981e829a7edb8e07d24c849aad7132c80e14338e6aaab4d12d25021

root@docker-test:~# docker ps -l
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
61975c6a1981        training/webapp:latest   "python app.py"     8 seconds ago       Up 7 seconds        0.0.0.0:32783->5000/tcp   furious_pasteur   


大写的-P。会随机映射一个49000-49900的端口至容器内部开放的网络端口
小写的-p,则指定固定端口

上面的ps -l看出,本地的32783端口被映射到了容器的5000端口,访问宿主机的32783端口即可访问容器内web应用提供界面

通过我宿主机的IP地址进行访问 http://192.168.89.130:32783/

2、通过docker logs查看应用的信息
root@docker-test:~# docker logs -f furious_pasteur
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.89.1 - - [12/Aug/2017 12:58:34] "GET / HTTP/1.1" 200 -
192.168.89.1 - - [12/Aug/2017 12:58:35] "GET /favicon.ico HTTP/1.1" 404 -
192.168.89.1 - - [12/Aug/2017 12:59:56] "GET / HTTP/1.1" 200 -

3、映射所有接口地址
将本地的5000端口映射到容器的5000端口
docker run -d -p 5000:5000 training/webapp python app.py #此时会绑定本地所有接口上的所有地址

4、映射到指定地址的指定端口
docker run -d -p 192.168.89.130:5000:5000 training/webapp python app.py

5、映射到指定地址的任意端口
docker run -d -p 192.168.89.130::5000 training/webapp python app.py

6、查看映射端口配置
root@docker-test:~# 
root@docker-test:~# docker port testweb
5000/tcp -> 0.0.0.0:32782
root@docker-test:~# docker port web
5000/tcp -> 0.0.0.0:32781
root@docker-test:~# docker ps -a
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
61975c6a1981        training/webapp:latest   "python app.py"     14 minutes ago      Up 14 minutes       0.0.0.0:32783->5000/tcp   furious_pasteur     
235a7f166a79        training/webapp:latest   "/bin/bash"         33 minutes ago      Up 33 minutes       0.0.0.0:32782->5000/tcp   testweb             
6c498fba9a26        training/webapp:latest   "/bin/bash"         40 minutes ago      Up 40 minutes       0.0.0.0:32781->5000/tcp   web                 
39d71abc194d        ubuntu:latest            "/bin/bash"         About an hour ago   Up About an hour                              db2                 
593de70961a0        ubuntu:latest            "/bin/bash"         About an hour ago   Up About an hour                              db1                 
a6a32f7838ee        ubuntu:latest            "/bin/bash"         About an hour ago   Up About an hour                              dbdata              
root@docker-test:~# docker port 61975c6a1981
5000/tcp -> 0.0.0.0:32783
root@docker-test:~# 

二、自定义容器命名
1、自定义容器命名
root@docker-test:~# docker run -d -P --name web training/webapp python app.py  #使用--name选项

2、查看设定后的命名
root@docker-test:~# docker ps -l

3、使用inspect查看指定容器ID的容器的名字
root@docker-test:~# docker inspect -f "` `.`Name `" 382b382521b5



二、容器互联(实现容器间通信)
使用--link参数可以让容器之间安全的进行交互
创建一个新的数据库容器进行演示


1、创建并运行数据库容器,名称为db
root@docker-test:~# docker run -d --name db training/postgres #如本地没有training/postgres镜像,则会自动从docker hub搜索到镜像并下载

2、创建完成之后查看一下
root@docker-test:~# docker ps -a
CONTAINER ID        IMAGE                      COMMAND                CREATED             STATUS              PORTS                     NAMES
19f67a71ac16        training/postgres:latest   "su postgres -c '/us   2 minutes ago       Up 2 minutes        5432/tcp                  db        

3、然后创建一个新的web容器,并将它连接到db容器
root@docker-test:~# docker run -d -P --name web --link db:db training/webapp python app.py
3ac18b1df0d487c99b0f07e2fd273c53ad7b6f5beb29b830985c89fd6df40241

4、查看创建的两个docker容器(web容器和db容器)
root@docker-test:~# docker ps -a
CONTAINER ID        IMAGE                      COMMAND                CREATED             STATUS              PORTS                     NAMES
3ac18b1df0d4        training/webapp:latest     "python app.py"        6 seconds ago       Up 4 seconds        0.0.0.0:32769->5000/tcp   web                 

651b10778678        training/postgres:latest   "su postgres -c '/us   2 minutes ago       Up 2 minutes        5432/tcp                  db        



本文转自 TtrToby 51CTO博客,原文链接:http://blog.51cto.com/freshair/1958350

相关文章
|
7月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
2771 91
|
9月前
|
Kubernetes 关系型数据库 文件存储
手把手教你完成极空间 NAS Docker 镜像加速配置
本教程详细介绍了如何在极空间NAS上配置轩辕镜像加速器,以提升Docker镜像的下载速度与稳定性。内容涵盖账号注册、网络确认、加速器设置及验证方法,并提供常见问题解决方案,帮助用户高效完成容器化应用部署。
3473 1
|
7月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
561 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
12月前
|
Prometheus 监控 Cloud Native
Prometheus配置docker采集器
本文介绍了如何使用 Prometheus 监控 Docker 容器,涵盖环境准备、配置文件编写及服务启动等步骤。首先确保安装 Docker 和 Docker Compose,接着通过 `docker-compose.yml` 配置 Prometheus 和示例应用。创建 `prometheus.yml` 指定数据采集目标,最后用 `docker-compose up -d` 启动服务。文章还展示了甘特图和类图,帮助理解服务状态与关系,助力提升系统可靠性和可维护性。
521 11
|
6月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
481 10
|
6月前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
9月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
5505 60
|
Docker 容器 文件存储
飞牛fnOS Docker镜像加速配置全攻略
本文介绍了如何在飞牛fnOS中配置Docker镜像加速服务,通过设置轩辕镜像仓库加速器,提升镜像拉取速度与稳定性。内容涵盖配置前准备、加速源设置、首选加速源调整及使用指南,帮助用户高效完成镜像操作。
6669 56
|
10月前
|
安全 网络虚拟化 数据安全/隐私保护
配置小型网络WLAN基本业务示例
本文介绍了通过AC与AP直连组网实现企业分支机构移动办公的WLAN基本业务配置方案。需求包括提供名为“WiFi”的无线网络,分配192.168.1.0/24网段IP地址给工作人员,采用直连二层组网方式,AC作为DHCP服务器,并使用隧道转发业务数据。配置步骤涵盖AP与AC间CAPWAP报文传输、DHCP服务设置、AP上线及WLAN业务参数配置等,最终确保STA成功接入无线网络“WiFi”。
配置小型网络WLAN基本业务示例

热门文章

最新文章