一、Docker容器绑定外部ip和端口

1、Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务
2、首先是外部访问容器:
2.1容器启动之后,容器可以运行一下网络应用,通过-p或-P参数来指定端口映射,
使用-P标记时,docker会随机选择一个端口映射到容器内部开放的网络端口上
2.2运行服务
#docker run -d -P training/webapp python app.py
2.3查看端口状态
#netstat -lnp | grep 32768(port)
2.4到浏览器可以通过ip:port访问显示Hello World
#docker logs (ID)查看应用消息
2.5通过-p指定端口也可以有一样的效果
#docker run -d -p 5000:5000 training/webapp python app.py
3、查看容器详细信息
#docker inspect (ID)
4、在启动容器的时候,可以多次使用-p标记来绑定多个端口
#docker run -d -p 5005:5000 -p 5006:80 training/webapp python app.py
5、要实现容器互联,可以为容器制定一个好记的名字,通过–name来制定容器名称,若不制定,docker会随机生成一个容器的名称,这不利于记忆。
通过--name来指定容器名称

二、容器互联

1、容器互联:使用–link参数,可以让容器之间安全的进行交互
1.1先创建一个数据库容器
#docker run -d --name db_postgres training/postgres
1.2新建一个容器和postgres容器互联
#docker run -d -P --name web --link db_postgres :db training/webapp python app.py
1.3通过查看wb容器的环境变量来查看web和db之间是否建立连接
#docker run --rm --name web2 --link web:db training/webapp env
1.4除了web容器环境变量发生变化,在web容器的host文件也发生了变化
#docker run -it --rm --link web:db training/webapp /bin/bash
#打印出host文件
#cat /etc/hosts
hosts文件发生改变

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐