Docker-网络基础配置

从外部访问容器

指定容器端口随机映射主机端口

[[email protected] /]$ docker run -p 8080 -d --name web tomcat /bin/bash -c /root/apache-tomcat-7.0.70/bin/startup.sh
56aff84e42df074c4941a8a373305ffbba121bd4b190f58ec5c6136d062b557f

[[email protected] /]$ docker port 56
8080/tcp -> 0.0.0.0:32772

访问http://192.168.0.80:32772,即可访问到容器中对应的8080端口。

使用-P随机映射容器内开放的端口

[[email protected] /]$ docker run -P --name db -e MYSQL_ROOT_PASSWORD=root -d mysql
49b1c8ba70db137107ba79950854c1b758d0c4dc8f4ac16425cde73a648631f8
[[email protected] /]$ docker ps -l
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                     NAMES
49b1c8ba70db        mysql               "docker-entrypoint.s   4 seconds ago       Up 4 seconds        0.0.0.0:32773->3306/tcp   db  

指定主机端口映射,主机端口:容器端口

[[email protected] /]$ docker run -p 8090:8080 -d --name web1 tomcat /bin/bash -c /root/apache-tomcat-7.0.70/bin/startup.sh
c2fa3f78eb52f5e45af1bb578b0a892829611175722ea0909fc890edd1347a23
[[email protected] /]$ docker port web1
8080/tcp -> 0.0.0.0:8090

访问:http://192.168.0.80:8090即可访问到容器中对应的8080端口。

容器的互联

实现db容器和web容器的互联

创建db容器

[[email protected] /]$ docker run  --name db -e MYSQL_ROOT_PASSWORD=root -d mysql

创建一个web容器,并将它连接到db

[[email protected] /]$ docker run -d -P --name web --link db:db  tomcat
a0c6eded53622dc71e54892eb63d5d94b1e1ce2882d307b2de8b6dd23e0c865d

[[email protected] /]$ docker exec -it web /bin/bash
[[email protected] /]# env
HOSTNAME=a0c6eded5362
DB_NAME=/web/db
DB_PORT=tcp://172.17.0.76:3306
DB_PORT_3306_TCP_PORT=3306
DB_ENV_GOSU_VERSION=1.7
LS_COLORS=
DB_PORT_3306_TCP_PROTO=tcp
DB_ENV_MYSQL_ROOT_PASSWORD=root
PATH=/root/jdk1.7.0_80/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
JAVA_HOME=/root/jdk1.7.0_80
DB_PORT_3306_TCP_ADDR=172.17.0.76
SHLVL=1
HOME=/root
DB_PORT_3306_TCP=tcp://172.17.0.76:3306
DB_ENV_MYSQL_VERSION=5.7.14-1debian8
DB_ENV_MYSQL_MAJOR=5.7
_=/usr/bin/env

[[email protected] /]# cat /etc/hosts
172.17.0.79    a0c6eded5362
127.0.0.1    localhost
::1    localhost ip6-localhost ip6-loopback
fe00::0    ip6-localnet
ff00::0    ip6-mcastprefix
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters
172.17.0.76    db c456ffdefca6
[[email protected] /]# ping db
PING db (172.17.0.76) 56(84) bytes of data.
64 bytes from db (172.17.0.76): icmp_seq=1 ttl=64 time=0.095 ms
64 bytes from db (172.17.0.76): icmp_seq=2 ttl=64 time=0.070 ms
64 bytes from db (172.17.0.76): icmp_seq=3 ttl=64 time=0.070 ms

--link name:alias   name为容器名,alias为容器连接的别名。

时间: 2024-11-03 22:29:38

Docker-网络基础配置的相关文章

Docker网络基础配置

简介 大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合. Docker 目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务. 本文将讲解如何使用Docker的网络功能.包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信. 端口映射实现容器访问 从外部访问容器应用 在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的. 当容器中运行一些网络应用,要让外

8.Linux网络基础配置

8.Linux网络基础配置 ·在Linux中,以太网接口被命名为eth0,eth1等,0,1代表网卡编号, ·查看: ·通过lspci查看网卡硬件信息,如果是usb网卡,可以运行lsusb, ·ifconfig -a查看所有接口,ifconfig eth0查看特定接口, ·ifup eth0启动接口,ifdown eth0禁用接口, ·配置:运行setup配置网卡, ·网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0, ·DNS配置文件/etc/re

docker数据卷管理及网络基础配置

数据卷 数据卷容器 数据卷迁移数据 端口映射 容器间通信 数据卷的管理 当需要查看容器内应用产生的数据或者把容器内数据备份及多个容器数据共享.有两种方式,数据卷以及数据卷容器. 数据卷 数据卷是一个可供容器使用的特殊目录,它绕过文件系统,特性如下: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新不会影响镜像 卷会一直存在,直到没有容器使用 其使用类似与mount操作. 在容器内创建一个数据卷 #docker run -d -P --name web -v /webapp

网络基础配置

1.网络基础知识一台主机如果可以连接公网,比如访问www.baidu.com 那么这台主机必然会有 ipaddress GATEWAY     dns       主机域名转换成ip的服务器 ############ipaddress############## tcp/ip ipv4 2进制32位 254.254.254.254/255.255.255.0 11111110.11111110.11111110.11111110/11111111.11111111.11111111.000000

Linux网络基础配置

1.TCP/IP网络配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network /etc/host.conf /etc/hosts /etc/resolv.conf /etc/services (1)/etc/sysconfig/network-scripts/ifcfg-eth0 网络接口的启动脚本 内容实例: DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.1

linux网络基础配置与网络进阶管理

一. 网络基本配置: 真不敢想象没有网络的一天 应该怎样度过,但是有了网络就行了?原来刚有了网络时由于没有统一的标准,各大硬件厂商各自为政,都在搞网络,但是都只是同一厂商的设备可以进行通讯,就 和不同的国家的人交流使用了不同的语言一样,难以将所有的网络连接起来,之后Internet有了统一的标准,大家都遵循它的标准,后来计算机才能进行网 络通讯,同样将linux主机接入网络也必须进行配置它的网络,及其相关的主机名等,下面将逐一进行配置: 1.  主机名: rhel6中主机名修改 [[email 

Docker 快速上手系列(5): 网络基础配置和容期间通信

引子 一个web服务跑起来必不可少的两大功能模块:业务处理,数据服务,大型的web服务需要的组件更多,这往往需要多个容器,但是我们还需要这些容器之间可以进行网络通信,相互配合. Dokcer目前只支持宿主机与容器通信,容器与容器之间通信. 宿主机与容器的端口映射 在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-p或-p参数来制定端口映射.当使用-p标记时,Docker会随机映射一个4900

Docker网络基础

大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合. Docker目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务. 端口映射实现访问容器: 在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的. 从外部访问容器应用: 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射.当使用-P标记时,Docker会随机映射49000~49900中的端口至容器内部开放的网络端口. 小

docker 网络基础

-p可以多次使用 安装 ifconfig yum -y install net-tools Docker 目前提供了映射容器端口到宿主机和容器互联机制来为容器提供网络服务. 端口映射实现访问容器 : 1.从外部访问容器应用 当容器启动时如果不指定对应参数,外部网络是无法通过网络访问容器的. 参数: -P : docker会随机映射一个宿主机的49000~49990的端口到容器expose指定的端口 docker run -t -P --expose 22 --name test centos -

Linux:网络基础配置

一.修改主机名 hostname 查看主机名 1.hostname   zy 修改主机名为zy,临时生效,重新登录系统生效. 2.想要永久修改,,需修改配置文件:  vi   /etc/sysconfig/network.然后重启系统才可以reboot 一般我们也不可能重启,所以有第三种方法 3.分三步 1)hostname zylinux 2)修改配置文件:  vi   /etc/sysconfig/network 3)修改vi /etc/hosts 中127.0.0.1对应的主机名 然后推出