SpringBoot之Docker准备

回顾:

SpringBoot之基础

SpringBoot之配置

SpringBoot之日志

SpringBoot之Web开发基础

SpringBoot之Web开发实验

SpringBoot之Web开发后续处理

简介

Docker是一个开源的应用容器引擎;是一个轻量级容器技术;

Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;类似ghost系统的原理.

核心概念 

1) 安装linux系统(自行百度)

2) 在linux系统上安装docker

    ① 检查内核版本(3.10及以上), 使用命令uname -r查看

    ② 安装docker yum install docker

查看版本:   

    ③ 启动docker systemctl start docker

如果无法启动, 则进入/etc/sysconfig/目录下, 编辑selinux文件, 将selinux的属性值改为disabled.

    ④ 查询命令(如 docker search mysql)

    ⑤ 下载镜像(docker pull <镜像名称[可以是全名, 也可以是简称, 如: 全名[docker.io/mysql], 简称[mysql]]>)

    ⑥ 指定下载镜像的版本(默认是最新版[latest]): docker pull <镜像名称>:<版本名称>

    ⑦ 查询docker镜像(docker images)

    ⑧ 删除指定镜像(docker rmi <镜像id>)

容器操作

流程: 明确所需镜像 ==> 运行镜像 ==> 产生对应容器(软件本身, 如tomcat)

    搜索镜像: docker search tomcat

    拉取镜像: docker pull tomcat(默认是最新版)

    启动容器: docker run --name <自定义容器名称, 如: mytomcat> -d[表示后台运行] <镜像名称>[可加版本号]

    docker run --name mytomcat -d tomcat:latest

    查看运行中/所有的镜像(软件): docker ps / docker ps -a

    停止运行中的容器: docker stop <运行中的容器id>

    当知道容器id时, 启动该容器也可以使用命令docker start <容器id>

     删除容器, docker rm <容器id>

     外部访问tomcat的docker容器(做端口映射)

    命令: docker run --name <自定义容器名称> -d -p <虚拟机端口>:<要映射到tomcat中的端口> <tomcat镜像名称>

    例: 将虚拟机的8888端口映射给tomcat的8080端口, 这样外部就能通过8888端口访问tomcat的8080端口

访问: ip:8888  在此之前需要关闭linux的防火墙

     查看容器日志: docker logs <容器id>

    一个镜像可以启动多个容器

    更多命令: https://docs.docker.com/engine/reference/commandline/docker/ 

安装启动mysql

安装镜像, 参照上文, 启动镜像, 参照官方文档

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=<自定义密码> -d mysql

-p: 做端口映射

-e: 指定root账户的密码

-d: 后台运行

连接测试:

ps: 如果连接不成功报2059错误码, 请参考解决方案: https://blog.csdn.net/u013274055/article/details/83794340

步骤: 

    ① 查询具体mysql容器id: docker ps -a

    ② 连接mysql的docker容器: docker exec -it [指定容器id] bash

    ③ 连接mysql: mysql -u root -p

    ④ 修改加密方式为mysql_native_password, 密码为root: alter user 'root'@'%' identified with mysql_native_password by 'root'

    ⑤ 执行命令使权限配置项立即生效: flush privileges

其他的高级操作

官方文档说明: 

释义:

docker run --name [自定义mysql名称] -e MYSQL_ROOT_PASSWORD=[自定义root账户的密码] -d mysql:[指定版本, 默认最新版本] --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci  (红色部分是指定编码为utf-8)

docker run --name mysql_name -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

意为指定mysql的编码为utf-8

docker run --name [自定义名称] -v [自定义文件夹]:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=[自定义root账户的密码] -d mysql:[指定版本]

docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

意为把主机的[指定文件夹]挂载到 mysql的docker容器的/etc/mysql/conf.d文件夹里面, 这样以后就只需要把mysql的配置文件放到自定义的文件夹里面即可(docker容器会跟mysql原来的配置文件进行融合)

Spring Boot是一个用于快速开发基于Spring框架的Java应用程序的框架。Kafka是一个分布式流处理平台,用于处理高容量的实时数据流。Docker是一种容器化的平台,可以轻松地部署和运行应用程序。 在Spring Boot中整合Kafka和Docker,可以使用Docker容器来搭建Kafka集群并部署Spring Boot应用程序。首先,需要准备好环境,包括安装Docker和拉取所需的Kafka和Zookeeper镜像。可以使用命令docker pull zookeeper:3.4.13和docker pull wurstmeister/kafka:2.11-2.0.1来拉取这两个镜像。 接下来,可以使用docker-compose.yml文件来定义Kafka和Zookeeper容器的配置。在该文件中,可以指定容器的名称、镜像、端口等信息。然后,可以使用docker-compose命令来启动和管理容器。 通过将Spring Boot应用程序与Kafka集群进行整合,可以使用Kafka提供的API来发送和接收消息。可以通过配置application.properties或application.yml文件来指定Kafka的相关配置,如Kafka服务器地址、主题等。然后,在Spring Boot应用程序中使用KafkaTemplate或@KafkaListener注解来发送和接收消息。这样就可以实现Spring Boot应用程序与Kafka集群的整合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [kafka集群(docker环境)及springboot整合](https://blog.csdn.net/WuHuaRou123/article/details/121161000)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [debj_SpringBoot_ELK+Kafka_resources.zip](https://download.csdn.net/download/ice_debj/12549757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [springboot整合docker里的kafka](https://blog.csdn.net/qq_30166123/article/details/89705385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值