Docker学习七:网络基础
来源:互联网 发布:新手学什么编程语言 编辑:程序博客网 时间:2024/05/18 11:36
Docker支持映射容器端口到宿主机和容器互联机制来为容器提供网络服务。
一、端口映射
1、外部访问容器应用。使用-P和-p参数来指定端口映射。当使用-P标记时,Docker会随机映射一个49000 ~ 49900的端口至容器内部开放的网络端口。
[root@localhost /]# docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registryc38f487f9a534b539129a6a8c1791839491708d7dd7f0048d1d3f60c449ce65e可以使用docker ps查看容器映射关系。
[root@localhost /]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc38f487f9a53 registry "/entrypoint.sh /etc/" 2 hours ago Up 2 hours 0.0.0.0:5000->5000/tcp berserk_khorana可以通过docker logs命令来查看应用信息。
[root@localhost /]# docker logs -f berserk_khoranatime="2017-10-30T05:48:08Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.7.6 instance.id=7ea175ab-5bc0-42da-b4e2-8444d684ba64 version=v2.6.2 time="2017-10-30T05:48:08Z" level=info msg="redis not configured" go.version=go1.7.6 instance.id=7ea175ab-5bc0-42da-b4e2-8444d684ba64 version=v2.6.2
2、映射所有接口地址。使用hostPort:containerPort格式将本地的5000端口映射到容器的5000端口,可以多次使用-p来映射多个端口。
[root@localhost /]# docker run -d -p 5000:5000 -p 4000:8080 registry
3、映射到指定地址的指定端口。
[root@localhost /]# docker run -d -p 127.0.0.1:5000:5000 -p 4000:8080 registry
4、映射到指定地址的任意端口。
[root@localhost /]# docker run -d -p 127.0.0.1::5000 -p 4000:8080 registry
5、查看映射的端口信息。
[root@localhost /]# docker port berserk_khorana 50000.0.0.0:5000
二、容器互联通信
1、自定义容器名。在执行docker run 的时候用--name为容器自定义名称,可以同时使用--rm标记,则容器终止后会自动删除,但是--rm和-d参数不能同时使用。
[root@localhost /]# docker run --rm -it -p 58080:8080 --name bvrfis centos:7 /root/run.sh
2、容器互联。使用--link参数可以实现容器间的互联。
创建新的数据容器:
[root@localhost /]# docker run -d --name db mysql:5新建web容器,并将它连接到db容器:
[root@localhost /]# docker run -d -P --name web --link db:db tomcat:7 /bin/bash此时db和web容器建立互联关系。--link参数的格式为--link name:alias,其中name是要连接的容器名称,alias是这个连接的别名。
Docker为2个容器建立了一个安全隧道,而且不需要映射他们的端口到宿主机上,也不用在启动的时候用-p和-P来标记端口,避免暴露数据库端口到外部网络上。
阅读全文
0 0
- Docker学习七:网络基础
- Docker学习笔记七:Docker网络
- Docker学习笔记七:Docker网络
- Docker学习笔记七:Docker网络
- Docker学习笔记七:Docker网络
- docker学习笔记09:网络功能基础
- Java学习笔记(七、网络编程基础)
- docker:网络基础配置
- Docker 网络基础介绍
- Docker 网络基础介绍
- docker网络配置基础
- Docker网络基础-yellowcong
- Docker 网络基础
- Docker 网络学习笔记
- Docker 网络学习笔记
- 【docker】docker容器的网络基础
- Docker源码分析(七):Docker Container网络 (上)
- Docker源码分析(七):Docker Container网络 (上)
- Python List和Tuple类型(2)
- 爬虫学习01 str类型和bytes类型 Unicode UTF8 ASCII 的补充 str bytes如何转化
- spring初步配置
- format grid column
- Python numpy 中 keepdims 的含义
- Docker学习七:网络基础
- nodejs是用来做什么的
- java第十天~第十一天/10.28~10.29
- 枚举类型表单提交+ajax表单提交方法
- Eclipse中编码格式问题
- Erlang输出syslog
- ES6解构赋值
- eclipse和Androidstudio设置字符集的方法
- flex布局