一点感想
我觉得docker是个很牛逼的东西,牛逼在哪里?
首先不说,未来的服务部署的问题,从gitlab代码合并--》Jenkins集成--》k8s服务自动编排,这些自动化的东西很可能是未来的趋势。
上面的太远了,和我没有多大的 关系。
但是安装启动一个redis(mysql)等服务,极其简单。
docker安装访问redis
docker run -d -p 6379:6379 --name=myredis redis
docker exec -it a6703778cfa0 /bin/bash
(在windows上用RedisDesktopManager测试通过)
docker安装访问mariadb
(本来准备像上面一样两行命令搞定,但是报错,参考文档https://www.cnblogs.com/keepMoveForevery/p/12205827.html)
mkdir -p /data/mariadb/data
docker run -d -p 3306:3306 --name=mymysql -e MYSQL_ROOT_PASSWORD=root -v /data/mariadb/data:/var/lib/mysql mariadb
(和上面启动两点不同:1,设置mysql密码 2,和宿主机绑定存储卷)
docker exec -it mymysql /bin/bash
(在navicat上用RedisDesktopManager测试通过)
docker安装访问kafka和zookeeper
(下载镜像,直接下载kafka,会报错XXdocker loginXX)
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
(启动kafka容器,zookeeper容器)
docker run -d -p 2181:2181 --name=myzookeeper -e ZOO_MY_ID=1 -e ZOO_SERVERS='server.1=myhost:3888' --net=host wurstmeister/zookeeper
docker run -d -p 9092:9092 --name=mykafka --env KAFKA_ADVERTISED_HOST_NAME=localhost -e KAFKA_ZOOKEEPER_CONNECT=myhost:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://myhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" --net=host wurstmeister/kafka
(myhost是我服务器的ip)
参数说明:--link是为了连上zookeeper的网络(这个很恶心,因为程序老是报错)
--net=host 意思是用宿主机的通讯方式(不会存在通讯问题,搞了几个小时,才通过上面方法,解决问题)
--env是设置参数(进入容器,直接输入env,可以看到我们设置的参数)
(测试,强烈介意用代码来测试,命令测试很恶心)
进入bin目录
/opt/kafka_2.12-2.4.1/bin
创建topic
kafka-topics.sh --create --zookeeper myzookeeper:2181 --replication-factor 1 --partitions 1 --topic mytopic
生产者,消费者
kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --from-beginning
待续
后续想测试什么中间件的功能在这里补充
记录开放的端口
查看端口监听命令: netstat -ant | grep 9092
查看端口被那个进程占用了:lsof -i:9092 (yum install lsof)
8080/8080 tomcat
80/80
9092/9092 kafka
2181/2181 zookeeper
6379/6379 redis
5601/5601 kibana
9200/9200 elasticsearch
3306/3306 mysql
8000/8000
3389/3389
22/22 ssh链接
8080/8080
|