docker idea 权限不够_Docker遇到Intellij IDEA,Java开发提升了十倍生产力

Idea是Java开发利器,SpringBoot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢?

一、开发前准备

1. Docker的安装可以参考https://docs.docker.com/install/

2. 配置docker远程连接端口

vi /usr/lib/systemd/system/docker.service

找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示

2c5f1a494116525f29ae1605cbd961c6.png

3. 重启docker

systemctl daemon-reload

systemctl restart docker

4.开放端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent

5.Idea安装docker插件,重启

2781136d3d851b039b526f0bd8c907c8.png

6.连接远程docker

(1) 编辑配置

dcf361191027bc6e9a4083158b9040a6.png

(2) 填远程docker地址

42e16547ef70873ed787b3ccfefad78d.png

(3) 连接成功,会列出远程docker容器和镜像

6e52ac8a099c5e45d7b172aa7a2ff695.png

二、新建项目

创建springboot项目

项目结构图

9fb3c098089975ca37e553bb16ee63ff.png

(1) 配置pom文件

4.0.0

com.fengqi

dockerDemo

1.0.0

../pom.xml

com.fengqi

web

1.0.0

web

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-starter-web

log4j

log4j

1.2.17

org.springframework.boot

spring-boot-maven-plugin

com.spotify

docker-maven-plugin

1.0.0

src/main/docker

/

${project.build.directory}

${project.build.finalName}.jar

maven-antrun-plugin

package

run

(2) 在src/main目录下创建docker目录,并创建Dockerfile文件

FROM openjdk:8-jdk-alpine

ADD *.jar app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

(3) 在resource目录下创建application.properties文件

logging.config=classpath:logback.xml

logging.path=/home/developer/app/logs/

server.port=8990

(4) 创建DockerApplication文件

@SpringBootApplication

public class DockerApplication {

public static void main(String[] args) {

SpringApplication.run(DockerApplication.class, args);

}

}

(5) 创建DockerController文件

@RestController

public class DockerController {

static Log log = LogFactory.getLog(DockerController.class);

@RequestMapping("/")

public String index() {

log.info("Hello Docker!");

return "Hello Docker!";

}

}

(6) 增加配置

8228b6e9d21803ac3f1fc354cb01b360.png

6f8c708183b38b7f63d66cbb5676435b.png

命令解释

Image tag : 指定镜像名称和tag,镜像名称为 docker-demo,tag为1.1

Bind ports : 绑定宿主机端口到容器内部端口。格式为[宿主机端口]:[容器内部端口]

Bind mounts : 将宿主机目录挂到到容器内部目录中。格式为[宿主机目录]:[容器内部目录]

这个springboot项目会将日志打印在容器 /home/developer/app/logs/ 目录下,将宿主机目录挂载到容器内部目录后,那么日志就会持久化容器外部的宿主机目录中。

(7) Maven打包

4a3f38fe1612576eb91cc14fc1682464.png

(8) 运行

11ca1f4a850d65c6ac184dfdcc6cd4fd.png

f491e2c643526b24eb04872a8e159709.png

这里我们可以看到镜像名称为docker-demo:1.1,docker容器为docker-server

(9) 运行成功

7a5bb02bf1fe6279e16e793fdca67ef0.png

(10) 浏览器访问

131f7678d79131809db70272bb0dc2d9.png

(11) 日志查看

f3d0b12a894f078750fa0f3820a4a215.png

自此通过idea 部署springboot项目到docker成功!难以想象,部署一个Javaweb项目竟然如此简单方便!

最后分享给大家相关学习教程:

https://www.bilibili.com/video/BV14t411z77T

IDEA教程

https://www.bilibili.com/video/BV1PZ4y1j7QK

442407cade2acd44d71c858a84ba9ba9.png

到此这篇关于Docker遇到Intellij IDEA,Java开发提升了十倍生产力的文章就介绍到这了,更多相关Docker遇到 IDEA内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值