本文主要是介绍M1 mbp docker部署spring boot,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先看一下我的文件目录
konsy@Konsy-MBP kafka-base-producer % tree
.
├── Dockerfile
├── kafka-base-producer.iml
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── kafka
│ │ │ ├── KafkaProducerApplication.java
│ │ │ ├── config
│ │ │ │ └── KafkaConfig.java
│ │ │ └── producer
│ │ │ ├── controller
│ │ │ │ └── KafkaProducerController.java
│ │ │ └── services
│ │ │ └── KafkaProducerSender.java
│ │ └── resources
│ │ ├── application-docker.yml
│ │ ├── application-local.yml
│ │ └── application.yml
│ └── test
│ └── java
└── target├── classes│ ├── application-docker.yml│ ├── application-local.yml│ ├── application.yml│ └── kafka│ ├── KafkaProducerApplication.class│ ├── config│ │ └── KafkaConfig.class│ └── producer│ ├── controller│ │ └── KafkaProducerController.class│ └── services│ └── KafkaProducerSender.class├── generated-sources│ └── annotations├── generated-test-sources│ └── test-annotations├── kafka-base-producer-1.0-SNAPSHOT.jar├── kafka-base-producer-1.0-SNAPSHOT.jar.original├── maven-archiver│ └── pom.properties├── maven-status│ └── maven-compiler-plugin│ ├── compile│ │ └── default-compile│ │ ├── createdFiles.lst│ │ └── inputFiles.lst│ └── testCompile│ └── default-testCompile│ ├── createdFiles.lst│ └── inputFiles.lst└── test-classes30 directories, 24 files
- maven 打包
pom.xml文件增加
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
执行 mvn install
- 创建Dockerfile
# 基础镜像
FROM java:8
# 作者
MAINTAINER konsy
# 把可执行jar包复制到基础镜像的根目录下
ADD ./target/kafka-base-producer-1.0-SNAPSHOT.jar /kafka-base-producer-1.0-SNAPSHOT.jar
# 镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效
EXPOSE 9001
# 在镜像运行为容器后执行的命令
ENTRYPOINT ["java","-jar","/kafka-base-producer-1.0-SNAPSHOT.jar"]
- 打包镜像
#由于我是M1 mbp,所以需要打包成arm64
docker buildx build --platform linux/arm64 -t kafka-base-producer:latest .
- 编写docker compose文件,创建文件
kafka-base-producer.yml
version: '2'services:kafka-base-producer:image: kafka-base-producer:latestrestart: alwayshostname: kafka-base-producercontainer_name: kafka-base-producerports:- 9001:9001networks:docker-net:ipv4_address: 172.20.10.51 #由于我设置了docker的sub-net为172.20.10.0/16,上一篇文章中有提到,为了能访问部署在docker中的kafka
networks:docker-net:external:name: docker-net
- 部署至docker
docker compose -f ./kafka-base-producer.yml up -d
这篇关于M1 mbp docker部署spring boot的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!