注:本文转自:https://mp.weixin.qq.com/s/3sdth4bhgmwb670zD-jBPA
Docker作为目前主流的容器技术,使用它部署应用是非常方便的!对于这款主流容器技术,IDEA官方自然也是有所支持的。最近体验了一把IDEA官方提供的插件,确实非常好用,今天我们以SpringBoot应用的打包部署为例,来聊聊IDEA官方Docker插件的使用!
连接成功
提示后就表示配置正确了;
Services
面板,双击Docker图标进行连接,连接成功后就可以对远程服务器上的Docker容器和镜像进行管理了。Images
按钮,输入需要下载的镜像名称和版本号就可以下载镜像了,这里IDEA还支持自动提示,实在太贴心了!
# 该镜像需要依赖的基础镜像 FROM java:8 # 将当前目录下的jar包复制到docker容器的/目录下 ADD ./mall-tiny-1.0.0-SNAPSHOT.jar /mall-tiny-1.0.0-SNAPSHOT.jar # 声明服务运行在8080端口 EXPOSE 8080 # 指定docker容器启动时运行jar包 ENTRYPOINT ["java", "-jar","/mall-tiny-1.0.0-SNAPSHOT.jar"] # 指定维护者的名字 MAINTAINER macrozheng
docker run
命令的指定的一些配置;
docker run
命令,大概就能知道这些配置的作用了;docker run -p 8080:8080 --name mall-tiny \ --link mysql:db \ --link redis:redis \ -e 'spring.profiles.active'=prod \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/mall-tiny/logs:/var/logs \ -d mall-tiny/mall-tiny:1.0.0-SNAPSHOT
Log
标签中查看容器的运行日志,这确实很方便!
docker inspect
命令获取的信息,比如查看容器运行的IP地址;
docker exec -it
命令么。
docker-compose.yml
文件,由于mysql容器没有使用Docker Compose来创建,这里改用IP来访问;version: '3' services: redis: image: redis:5 container_name: redis-tiny command: redis-server --appendonly yes volumes: - /mydata/redis-tiny/data:/data #数据文件挂载 ports: - 6379:6379 mall-tiny: image: mall-tiny/mall-tiny:1.0.0-SNAPSHOT container_name: mall-tiny links: - redis:redis depends_on: - redis ports: - 8080:8080 environment: - 'spring.profiles.active=prod' - 'spring.datasource.url=jdbc:mysql://192.168.3.105:3306/mall_tiny?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false' - 'spring.redis.host=redis' volumes: - /etc/localtime:/etc/localtime - /mydata/app/mall-tiny/logs:/var/logs
docker-compose.yml
文件箭头即可将应用部署到远程服务器,确实很方便!
今天体验了一把IDEA的官方Docker插件,不使用命令行就可以实现远程Docker镜像与容器的管理,还支持Docker Compose部署,功能确实很强大!在平时开发过程中,使用这款插件来打包、部署、运行SpringBoot应用确实很方便,感兴趣的小伙伴可以尝试下它!
官方文档:https://www.jetbrains.com/help/idea/docker.html
https://github.com/macrozheng/mall-tiny