idea使用docker插件

接着上一篇docker开启远程访问后,我们就可以通过idea使用docker插件把项目部署到docker了。
首先我们先在idea安装docker插件:
在setting中安装docker插件


1535529365951.png

1535529477982.png

等待安装完成重启idea

重启完成后,我们打开settings可以看到docker


1535531268677.png

点击"+",添加一个连接。


1535532032854.png

安装上篇配置的docker信息。我们通过tcp的方式连接到centos的docker服务。信息配置好后,idea会自动检测。然后会输出“connection successful”。

然后再工具栏选择docker的窗口,点击运行


1535532259250.png
1535532271985.png

接下来我们在idea上面操作docker

首先新建一个简单的springboot项目


1535532764721.png

我们的目的就是要把该项目放到docker上面跑起来

在src/main下面新建一个docker文件夹,目录下新建一个Dokerfile文件,写入一下的内容:

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
1535533764897.png

然后设置一下启动项
选择dockerFile


1535533870788.png

1535533924885.png

这样就配置好了。不过我们这种方式有一个不好的地方就是,我们以后每次启动的时候需要先把项目编译的jar
放到src/main/docker的目录下面。因为我们在Dockerfile的文件中是这样配置的

ADD dockerdemo-0.0.1-SNAPSHOT.jar app.jar

这里的dockerdemo-0.0.1-SNAPSHOT.jar就是我们的jar,这样的配置是说明在当前目录下找这个jar。

所以为了解决上面的麻烦我们把Docker的配置修改一下

ADD /target/dockerdemo-0.0.1-SNAPSHOT.jar app.jar

把ADD的值指向绝对路径,target下面


1535534140059.png

然后我们把Dockerfile文件直接放在项目的根目录


1535534229354.png

最后我们修改一下,启动配置:Dockerfile选择根目录下面的那个


1535534279183.png

接下来我们就启动docker,构建镜像中,由于是云服务器,这里上传镜像需要一段时间。
1535534419564.png

等到docker启动完成


1535534572312.png

我们去linux上面查看一下:
通过命令docker ps

docker ps
1535534490110.png

通过命令检查进程是否存在

ps -ef|grep app*
1535534850221.png

这里说明我们已经成功把项目部署到了linux上的docker中了。

为了进一步验证,我们写一个接口:

@RestController
@RequestMapping(value = "docker")
public class DockerController {

    @RequestMapping(value = "getValue")
    public String dockerTest() {
        return "this is docker controller return value";
    }
}

重新把项目部署一下。
部署完成后,我们目前还不能马上就可以访问这个刚部署的项目服务~因为:

  • 第一 我们还没有在云服务器的安全组策略配置外网可以访问的端口
    • 第二 我们在设置安全组策略是设置哪。 8099吗?
  • 我们要明白项目中设置的项目端口8099,我们是把这个项目整个部署到了docker的容器中的,而docker中的每一个容器我们都可以看作一个虚拟机。所以容器里面的端口的独立的。因此我们还要在云服务器上配置docker容器里面springboot项目服务端口8099的映射。


    Selection_005.png

这里我们可以看到Names:spring_demo的容器对应的ports还没有端口映射。所以现在我们做的就是把该容器的8099端口映射出来。

 docker run -d -p 8099:8099 37a83b7fa149
Selection_006.png

我们先把原来的容器给停止,然后使用上面的命令制定映射宿主机端口的方式来启动容器。
执行完成后,查看容器的运行情况


Selection_007.png

到这里我们已经可以看到ports已经显示端口的映射了。

最后一步:就是在云服务器安全组策略添加一下,宿主机8099的端口访问。


_1535535426089.png

我们在外网验证一下我们部署的springboot项目的接口:
访问:http://IP:8099/docker/getValue

Selection_009.png

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 想要改进这个备忘单吗?参见[贡献](#贡献)部分! 目录 [为何选择Docker](#why-docker) [先...
    iOSDevLog阅读 6,421评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • IntelliJ IDEA使用Docker 1.确认docker安装成功 2.安装docker插件 3.配置doc...
    沉思的老猫阅读 5,114评论 0 0
  • 本是云深无名物, 因缘际会帝王前; 粉藻红心香盈袖, 遂将迎辇花名添。
    王文英wwy阅读 3,328评论 0 1
  • 罗辑思维CEO喊话淘宝:相信你们想打假,但我有点动摇了 亿邦动力获悉,罗辑思维联合创始人CEO脱不花在某微信群中公...
    张泽鑫_1d76阅读 2,361评论 0 0

友情链接更多精彩内容