docker运行web容器及容器互连

Posted Thgilil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker运行web容器及容器互连相关的知识,希望对你有一定的参考价值。

本文使用docker容器构建一个两个应用,并简单介绍了以下容器互通的方法

运行web应用方法

docker pull tomcat
docker run -d -p 8081:8080 tomcat  ##绑定到主机8081端口

#或者绑定到随机端口
docker run -d -P tomcat  

docker run -itd -p 8080:8080 --name tomcat tomcat

## -p是指定容器端口绑定在主机端口
## -P是容器内部端口随机映射到主机的高端口
## -i表示交互式shell
## -t表示容器中的终端
## --name 表示自定义命名

指定容器绑定网络地址,如绑定到主机 127.0.0.1:8081

docker run -d -p 127.0.0.1:8081:8080 tomcat

绑定到UDP端口

docker run -d -p 127.0.0.1:8081:8080/udp tomcat

查看端口绑定情况

docker port

查看web应用程序日志

docker logs -f <容器id>

查看web应用容器进程

docker top <容器id>

查看容器配置信息

docker inspect <容器id>

停止web容器

docker stop <容器id>

重启web容器

docker start <容器id>

移除web容器
必须容器是停止状态,否则会报错

docker rm <容器id>

容器互联

创建mysql容器

docker pull mysql
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

进入mysql容器,并登录

docker exec -it mysql /bin/bash
> mysql -hlocalhost -uroot -p123456

可以看到容器启动成功,且mysql也正常运行

创建tomcat容器

创建tomcat容器,并使其和mysql容器互通

docker pull tomcat
docker run -d --name tomcat --link mysql:mysql tomcat

##--link参数可以让容器之间安全的进行交互
##--link参数格式:--link name:alias
##name表示要连接的容器名,alias表示连接的别名

查看两个容器的ip

docker inspect mysql
docker inspect tomcat

其中IPAddress即是容器ip
mysql:

tomcat:

进入任何一个容器看是否能 ping 通另一个容器
不过要在容器内安装ping

apt-get update
apt-get install iputils-ping

因为我的docker容器 apt-get update 过程中一直报错,所以下面就不继续进行了。

以上是关于docker运行web容器及容器互连的主要内容,如果未能解决你的问题,请参考以下文章

docker容器互连

Docker容器管理总结

Centos7 Docker 多主机 容器互连--基于OVS

将 Docker 容器限制为单个 cpu 核心

Docker 初体验安装及使用

Docker容器的文件系统管理