分享一次部署经历,docker+dubbo+zookeeper

安装:拉取指定版本镜像

docker pull zookeeper:3.4 

创建运行在后台的zookeeper容器

docker run -d --name=zk-1 zookeeper:3.4 docker run -d --name=zk-2 zookeeper:3.4 docker run -d --name=zk-3 zookeeper:3.4 

进入容器

docker exec -it zk-1 /bin/bash 

退出容器

exit 

查看zookeeper容器运行日志

docker logs -f zk-1 docker logs -f zk-2 docker logs -f zk-3 
[root@VM-8-9-centos ~]# docker run -d --name=zk-1 zookeeper:3.4 eb7a7e029aea2539845e6e091026bfe48a645e57d63154267d79e088549a0524 [root@VM-8-9-centos ~]# docker run -d --name=zk-2 zookeeper:3.4 2405fb92253f3822dc293b5bfd4510d7115836c47d884f42c761c601be326a54 [root@VM-8-9-centos ~]# docker run -d --name=zk-3 zookeeper:3.4 ea0949dfa1297fdc968cf218b388cb60b07c8147b6aed3c3e5f8ddfda00f31d9 [root@VM-8-9-centos ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ea0949dfa129 zookeeper:3.4 "/docker-entrypoint.…" 19 seconds ago Up 17 seconds 2181/tcp, 2888/tcp, 3888/tcp zk-3 2405fb92253f zookeeper:3.4 "/docker-entrypoint.…" 27 seconds ago Up 26 seconds 2181/tcp, 2888/tcp, 3888/tcp zk-2 eb7a7e029aea zookeeper:3.4 "/docker-entrypoint.…" 37 seconds ago Up 35 seconds 2181/tcp, 2888/tcp, 3888/tcp zk-1 

容器中没有vim等软件,需要先更新

apt update apt install vim apt install net-tools 

zookeeper配置文件zoo.cfg

clientPort=2181 dataDir=/data dataLogDir=/datalog tickTime=2000 initLimit=5 syncLimit=2 autopurge.snapRetainCount=3 autopurge.purgeInterval=0 maxClientCnxns=60 server.1=172.17.0.2:2888:3888 server.2=172.17.0.3:2888:3888 server.3=172.17.0.4:2888:3888 

启动命令

bash bin/zkServer.sh start bash bin/zkServer.sh start /conf/zoo.cfg 查看状态 bash bin/zkServer.sh status 关闭 bash bin/zkServer.sh stop 

修改过后,bash bin/zkServer.sh运行不生效,docker restart id

[root@VM-8-9-centos ~]# docker restart eb7a7e029aea eb7a7e029aea [root@VM-8-9-centos ~]# docker restart ea0949dfa129 ea0949dfa129 [root@VM-8-9-centos ~]# docker restart 2405fb92253f 2405fb92253f [root@VM-8-9-centos ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ea0949dfa129 zookeeper:3.4 "/docker-entrypoint.…" About an hour ago Up 23 seconds 2181/tcp, 2888/tcp, 3888/tcp zk-3 2405fb92253f zookeeper:3.4 "/docker-entrypoint.…" About an hour ago Up 11 seconds 2181/tcp, 2888/tcp, 3888/tcp zk-2 eb7a7e029aea zookeeper:3.4 "/docker-entrypoint.…" About an hour ago Up 39 seconds 2181/tcp, 2888/tcp, 3888/tcp zk-1 [root@VM-8-9-centos ~]# docker exec -it zk-1 /bin/bash root@eb7a7e029aea:/zookeeper-3.4.14# bash bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /conf/zoo.cfg Mode: follower root@eb7a7e029aea:/zookeeper-3.4.14# exit exit [root@VM-8-9-centos ~]# docker exec -it zk-2 /bin/bash root@2405fb92253f:/zookeeper-3.4.14# bash bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /conf/zoo.cfg Mode: follower root@2405fb92253f:/zookeeper-3.4.14# exit exit [root@VM-8-9-centos ~]# docker exec -it zk-3 /bin/bash root@ea0949dfa129:/zookeeper-3.4.14# bash bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /conf/zoo.cfg Mode: leader 
docker pull mysql:5 
docker run -itd --name mysql-5 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5 
docker exec -it mysql-5 /bin/bash 
mysql -u root -p 
172.17.0.5 
vim /etc/mysql/my.cnf 

内存优化,降低内存占用

[client] port = 3306 default-character-set = utf8 [mysqld] port = 3306 skip-external-locking key_buffer_size = 16M max_allowed_packet = 32M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 512K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M wait_timeout = 10 interactive_timeout = 10 log-bin=mysql-bin binlog_format=mixed server-id = 1 innodb_data_file_path = ibdata1:10M:autoextend innodb_buffer_pool_size = 64M innodb_log_file_size = 2G innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 character-set-server=utf8 collation-server=utf8_bin default-storage-engine=INNODB [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash default-character-set = utf8 [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout 
docker pull java:8 docker run -itd --name jdk-8 java:8 

app_dockerfile

FROM java:8 MAINTAINER kongdechang <kongdechang@kongjs.com> VOLUME /tmp ADD ./app.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"] 
docker build -f ./app_dockerfile -t webapp . 
docker run -d --name=web -p 8080:8080 webapp 
docker logs -f web 
# 制作 生产者镜像 docker build -f ./provider_dockerfile -t provider . docker run -d --name=pro provider # 制作 消费者镜像 docker build -f ./consumer_dockerfile -t consumer . docker run -d --name=con -p 8888:8888 consumer 

没有官方镜像,查询其他的

 docker search rocketmq 

阿里的镜像

docker pull xlxwhy/rocketmq 
docker run -d --name rkmq-1 -p 9876:9876 -p 10909-10911:10909-10911 xlxwhy/rocketmq 
docker exec -it rkmq-1 /bin/bash vi deploy/app/broker.p 
#容器ip namesrvAddr=172.17.0.7:9876 #服务器ip brokerIP1=42.193.117.23 
42.193.117.23:9876 

原文链接:https://blog.csdn.net/by2233/article/details/113765036

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享