IDEA中使用Docker

开发环境

  • IDEA:2020.3.2
  • Docker:20.10.12
    注意,如果没有开启Docker远程连接,请先开启Docker远程连接。

1. 打开或新建一个Web项目

可参考使用IDEA新建一个Spring Boot项目

2. 安装Docker插件

(1)选择File --> Settings,打开设置窗体;

(2)在设置窗体,左侧选择Plugins,搜索Docker并安装

(3) 在设置窗体,左侧选择Buidl,Execution,Deployment-->Docker,然后在右侧新建一个Docker Server,并配置Engine API URLtcp://10.1.4.123:2375(修改为自己Docker的IP和端口),如果配置正确,下面会提示Connection successful

3.创建控制器Controller(一会儿测试用)

package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String sayHello(){
        return "Hello Docker!";
    }
}

4.编写Dockerfile文件

(1)在工程根目录下新建一个文件,命名为Dockerfile

(2)编写Dockerfile文件按

# 基础镜像,openjkd使用8版本
FROM openjdk:8
# 作者
MAINTAINER mayhot
# 系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp
# 应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/demo-0.0.1-SNAPSHOT.jar app.jar
# 启动容器时的进程
ENTRYPOINT ["java","-jar","/app.jar"]
# 暴露8080端口
EXPOSE 8080

注意:将上面Dockerfile文件的jar名称,修改成你自己的

5. 添加Docker启动项

(1)编辑启动项配置

(2)添加Dockerfile启动项

(3)修改Dockerfile属性
修改基本信息

添加Run Maven Goal

输入要执行的Maven命令clean package -U -DskipTests,会在每次构建镜像之前,将当前工程清理掉并重新编译

6. 运行Dockerfile

如果构建日志,提示'docker-demo Dockerfile: Dockerfile' has been deployed successfully.表示在Docker上部署镜像成功,并启动容器成功!

7. 查看镜像和容器状态

使用xshell登录Docker服务,查看镜像和容器状态
(1)查看镜像

[root@bogon ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
docker-demo   latest    39b9d578b981   9 minutes ago   544MB
openjdk       8         47482c603b2a   13 days ago     526MB
hello-world   latest    feb5d9fea6a5   4 months ago    13.3kB

(2)查看容器

[root@bogon ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                CREATED          STATUS          PORTS                                         NAMES
ea83565112a4   39b9d578b981   "java -jar /app.jar"   10 minutes ago   Up 10 minutes   0.0.0.0:18080->8080/tcp, :::18080->8080/tcp   docker-demo

8. 验证

在浏览器中输入http://10.1.4.123:18080/hello(Docker服务器的地址和端口),返回了“Hello Docker!”,证明部署的应用在Docker容器中正常运行!

posted @ 2022-02-17 17:30  mayhot  阅读(2886)  评论(0编辑  收藏  举报