当前位置: 首页 > backend >正文

Ubuntu利用docker搭建Java相关环境记录(二)

Ubuntu利用docker搭建Java相关环境记录(二)

接上篇:Ubuntu利用docker搭建Java相关环境记录(一)

启动Docker

1. 查看Docker容器

已启动的容器
docker ps
所有容器
docker ps -a

本人很懒并不想一直敲命令操作,所以先拉取Docker可视化面板Dpanel的镜像

2. 拉取Dpanel镜像

docker pull crpi-5qc4odiityxeoecl.cn-hangzhou.personal.cr.aliyuncs.com/aliyun-namespace-lym/dpanel:latest

注意这里用的是我的阿里云私有镜像仓库(之前推送了这个镜像到仓库)
`强力推荐这个工具,非常好用!!!

3. 启动Dpanel

docker run -d --name dpanel --restart=always \-p 80:80 -p 443:443 -p 8807:8080 \-v /var/run/docker.sock:/var/run/docker.sock \-v /data/dpanel:/dpanel -e APP_NAME=DPANEL_HOME crpi-5qc4odiityxeoecl.cn-hangzhou.personal.cr.aliyuncs.com/aliyun-namespace-lym/dpanel:latest

4. 查看是否启动成功

docker ps

显示这些信息表示启动成功
在这里插入图片描述

5. 登录面板

浏览器输入http://you_server_ip:8807/即可看到如下页面。(首次登录需要设置账号密码)
在这里插入图片描述
登录后即可看到如下页面,后续拉取其他镜像的操作可以在页面进行
在这里插入图片描述

Dpanel 拉取镜像

Redis

compose菜单中创建任务,在右侧yml文件输入框中输入如下内容:

version: '3.8'services:redis:image: redis:latestcontainer_name: redis-serverports:- "6379:6379"volumes:- ./config/redis.conf:/usr/local/etc/redis/redis.conf- /data/redis:/datacommand: ["redis-server", "/usr/local/etc/redis/redis.conf"]restart: unless-stopped

在这里插入图片描述

提交
在这里插入图片描述
提交后点击启动按钮(拉取成功后按钮变为更新)即可拉取镜像,拉取成功后,会自动创建容器并启动。
在这里插入图片描述
后续其他镜像也是一样的操作方式

Kafka

因为kafka依赖于zookeeper所以两个镜像配置写在一起:

version: '3.8'services:zookeeper:image: wurstmeister/zookeepercontainer_name: zookeeper-serverports:- "2181:2181"volumes:- /data/zookeeper:/var/lib/zookeeperrestart: unless-stoppedkafka:image: wurstmeister/kafkacontainer_name: kafka-serverports:- "9092:9092"environment:- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092- KAFKA_LISTENERS=PLAINTEXT://:9092- KAFKA_ZOOKEEPER_CONNECT=zookeeper-server:2181- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1volumes:- /data/kafka:/kafkadepends_on:- zookeeperrestart: unless-stopped
注意 拉取kafka时遇到的问题
zookeeper拉取后启动成功但是kafka启动不成功,一直显示重启中

使用 docker log 容器id 查看日志报错:

ERROR: Missing environment variable KAFKA_LISTENERS. Must be specified when using KAFKA_ADVERTISED_LISTENERS

原因:原因是没有设置 KAFKA_LISTENERS 环境变量。
解决方式: 在 Kafkadocker-compose.yml 文件中,添加 KAFKA_LISTENERS 环境变量,然后重启。

 - KAFKA_LISTENERS=PLAINTEXT://:9092
验证kafka是否安装成功
  1. 进入kafka容器
docker exec -it <kafka_container_name_or_id> /bin/bash
  1. 创建 topic
kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
  1. 验证 topic 是否创建成功
kafka-topics.sh --list --bootstrap-server localhost:9092
  • 如果 test-topic 出现在列表中,说明 topic 创建成功。
  1. 使用 Kafka 控制台生产者发送消息
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test-topic

输入消息,例如:

Hello, Kafka! This is a test message.

  1. 在另一个终端窗口中进入 Kafka 容器
docker exec -it <kafka_container_name_or_id> /bin/bash
  1. 使用 Kafka 控制台消费者接收消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning
  1. 查看消息
    在这里插入图片描述

mysql 8.0

version: '3.8'services:mysql:image: mysql:8.0container_name: mysql-serverports:- "3306:3306"- "33060:33060"environment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_DATABASE=ddb_devvolumes:- /data/mysql:/var/lib/mysqlrestart: unless-stopped

rabbitMQ

version: '3.8'services:rabbitmq:image: rabbitmq:3-managementcontainer_name: rabbitmq-serverports:- "5672:5672"- "15672:15672"volumes:- /data/rabbitmq:/var/lib/rabbitmqrestart: unless-stopped

elasticsearch 7.14.0

version: '3.8'
services:elasticsearch:image: elasticsearch:7.14.0container_name: elasticsearch-serverports:- "9200:9200"- "9300:9300"environment:- discovery.type=single-node- cluster.name=es-cluster- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms256m -Xmx256m"ulimits:memlock:soft: -1hard: -1volumes:- /data/elasticsearch:/usr/share/elasticsearch/datarestart: unless-stopped
http://www.xdnf.cn/news/34.html

相关文章:

  • C++学习:六个月从基础到就业——面向对象编程:重载运算符(下)
  • 容器docker入门学习
  • ubuntu24.04离线安装deb格式的mysql-community-8.4.4
  • 【C++初阶】--- list容器功能模拟实现
  • 基于flask+vue框架的灯饰安装维修系统u49cf(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 【Unity】JSON数据的存取
  • 燕山大学计算机网络之Java实现TCP数据包结构设计与收发
  • 有什么工具可以在家连接到公司内网?局域网址提供异地公网访问的那些常用方法
  • 一台 Master 多节点玩转 Kubernetes:sealos 一键部署实践
  • MahApps.Metro:专为 WPF 应用程序设计的 UI 框架
  • 【数据结构】AVL树
  • 自动驾驶系列—GLane3D: Detecting Lanes with Graph of 3D Keypoints
  • android liveData observeForever 与 observe对比
  • CS144 Lab0实战记录:搭建网络编程基础
  • 游戏引擎学习第231天
  • 02、GPIO外设(一):基础知识
  • Windows平台使用Docker部署Neo4j
  • 从零上手GUI Guider学习LVGL——Button
  • 【Windows本地部署n8n工作流自动平台结合内网穿透远程在线访问】
  • SAP HANA使用命令行快速导出导入
  • 【HFP】深入解析蓝牙 HFP 协议中呼叫转移、呼叫建立及保持呼叫状态的机制
  • 在 Kali Linux 上安装 Java OpenJDK 8(详细指南)
  • 在Pycharm配置stable diffusion环境(使用conda虚拟环境)
  • Mac idea WordExcel等文件git modify 一直提示修改状态
  • 深度剖析:GPT-3.5与GPT-4的主要区别及架构解析
  • 消除异步的传染性(代数效应)
  • Java八种常见的设计模式
  • 【python画图】:从入门到精通绘制完美柱状图
  • 2025华中杯B题——AI实现
  • C++23 新特性:std::size_t 字面量后缀 Z/z