Docker基础三-容器互联

Docker容器互联

1、端口映射

docker create -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name hello-mysql mysql:5.7

-p HostPort:ContainerPort | IP:HostPort:ContainerPort | HostPort:ContainerPort

  • 查看端口映射
    • docker port hello-mysql

2、容器互联

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

场景:我们无需暴露mysql的情况下,让web应用使用mysql;

docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
docker run -d --link mysql01:mysql --name tomcat tomcat:7

docker exec -it tomcat bash
cat /etc/hosts

# cat /etc/hosts
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.3	mysql fe4d2abeea81 hello-mysql
172.17.0.4	445c0933d7b4

3.部署实例

1、部署Tomcat

docker pull tomcat:jdk8-openjdk-slim

#官方 docker exec -it 
docker run -it --rm -p 8080:8080 tomcat:9.0
-it :交互模式
--rm:Automatically remove the container when it exits; 容器启动成功并且推出以后容器就自动移除;控制台ctrl-c自动删除。测试情况。dry-run.。容器就没有了

docker stop fe546673ee19 11e476bb37b6 #批量
docker ps -aq #找到所有容器的id

##默认删除的方式
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)

##一步到位的
docker rm -f $(docker ps -aq)


docker run -d -p 8080:8080 --name tomcat -v /idata/tomcat/webapp:/usr/local/tomcat/webapps tomcat:9.0
以后在/idata/tomcat/webapp里面部署项目,war

镜像:

后缀:

​ -slim:瘦身的。

alpine:更瘦的。基础系统2.5

历史?

docker的所有镜像。最基础的镜像是什么?最起码是一个系统(小linux)

centos:debain;alpine。xxx

下载镜像(tomcat.,redis),优先推荐大家用 alpine后缀的。

2、Es+Kibana

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
-v /usr/share/elasticsearch/data \
-v /usr/share/elasticsearch/config \
-v /usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
elasticsearch:7.6.2

# es能设置的环境变量,这里都能写。容器的名字必须唯一

docker stats 7dc #查看容器的cpu,内存,网络情况
# 必须考虑的
# 1、端口暴露问题
# 2、数据卷的挂载
# --net 

解决的问题:
1、吃内存
2、数据卷的挂载?
	es自己的所有数据都在 容器的/usr/share/elasticsearch
	容器里的结构 bin  config  data  jdk  lib  logs  modules  plugins
-v 容器里面的需要挂载的路径

#启动Kibana。kibana和es都安装在了一个一个机器
docker run -d --name kibana  -p 5601:5601 -e ELASTICSEARCH_HOSTS="http://172.16.224.124:9200" kibana:7.6.2
#kibana怎么知道es在哪里。
#es地址,千万别127.0.0.1

3、RabbitMQ

# rabbitmq:3不带管理控制台的。rabbitmq:management
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 -v /idata/rabbitmq:/var/lib/rabbitmq rabbitmq:management

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值