背景介绍
本文主要利用docker的远程服务 idea的docker插件实现了简易版的DevOps环境,可以便捷的实现本地编译,远程运行,大大提高了代码交付效率和开发效率。
dokcer远程服务使用腾讯云轻量服务器用来起做docker远程服务,新用户可以点击这里免费体验一个月轻量 https://cloud.tencent.com/act/free
- 基本流程
本地代码编译->镜像推送->在docker中启动
- 必要前提:
启动一个docker并开放远程访问。
idea,并且安装了docker插件
1、docker环境安装
轻量服务器上安装docker基本流程如下
代码语言:javascript复制#轻量服务器上安装docker基本流程如下
#1、yum安装docker 等待几秒,提示y的时候输入y
yum install docker
#2、修改daemon.json 增加镜像仓库和配置远程访问
vim /etc/docker/daemon.json
#2.1在原文件中增加如下配置,registry-mirrors为镜像地址,host节点为远程开放配置,注意这里直接开放会有100%的被如入侵的
#风险,强烈建议在轻量控制台的防火墙开放端口配置中增加“限制来源”配置确保只有自己出口ip
#(www.ip138.com可以查到出口公网ip)可以访问到,配置参考下图1.1
{
"registry-mirrors":["https://reg-mirror.qiniu.com/"],
"hosts": [
"tcp://0.0.0.0:2375",
"unix:///var/run/docker.sock"
]
}
#3、重新加载服务
systemctl daemon-reload
#4、启动docker,自此,docker应该就启动完成了
systemctl restart docker
1.2 结果验证
安装完成后,访问 http://ip:2375/version 返回如下信息说明配置成功。如果不通需要排查一下防火墙是否放开及docker服务是否启动成功
代码语言:javascript复制{
"Version": "1.13.1",
"ApiVersion": "1.26",
"MinAPIVersion": "1.12",
"GitCommit": "7d71120/1.13.1",
"GoVersion": "go1.10.3",
"Os": "linux",
"Arch": "amd64",
"KernelVersion": "3.10.0-1160.62.1.el7.x86_64",
"BuildTime": "2022-03-02T15:25:43.414574467 00:00",
"PkgVersion": "docker-1.13.1-209.git7d71120.el7.centos.x86_64"
}
2、idea的docker插件安装及配置
2.1 插件安装
idea版本2019.3默认已经集成docker插件了,没有的可以自行安装一下。
2.2 docker插件配置
注意配置地址的时候是tcp开头哦。
3、springboot配置及部署
如果你没有springboot项目,那么可以去start.spring.io 生成一个最简单的springboot项目,在项目根目录下新建一个Dockerfile
Dockerfile内容如下
代码语言:javascript复制#基础镜像
FROM openjdk:8-jdk
#新增一个挂载点
VOLUME /tmp
#拷贝编译后的jar包
ADD target/springboot.jar springboot.jar
#启动参数配置,-Djava.security.egd是为了处理某些jdk版本的bug
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot.jar"]
#声明的暴漏端口,要和应用本身的端口保持一致
EXPOSE 8080
3.1 启动配置,点击edit configurations
按照图示配置响应的参数,具体描述可以参考图片中的描述
添加前置条件,这里因为我们是maven项目,选择maven
输入命令:clean package -U -DskipTests ,在执行构建之前先清理原来的构建并跳过测试
点击保存,配置完成。
4、编译及运行
4.1 启动
要选择刚才配置的docker的启动配置项
访问docker远程服务器所在的地址,得到如下响应说明运行正常。
腾云先锋(TDP,Tencent Cloud Developer Pioneer)是腾讯云GTS官方组建并运营的技术开发者群体。他们喜欢腾讯云或对腾讯云有自己独特的看法;喜欢参与技术话题的分享和讨论;对问题或者体验类需求敏感度比较高,并且愿意贡献自己的建议/需求,愿意与腾讯云共同成长共同进步!
加入TDP以后你能获得什么呢?
1. 群内有腾讯云产品、研发人员以及技术达人们,问题&需求能够快速反馈解决;
2. 定期学习培训,个人能力得到提升;
3. 收获一群志同道合的朋友,一起交流技术,一起学习成长;
4. 参与丰富的线上线下活动,有机会与腾讯云的产研面对面的交流、得到腾讯云大佬们的签名证书、参观腾讯、体验腾讯食堂等等一系列的福利;活动积攒的积分还能兑换腾讯云无门槛代金券和丰富的周边礼品。
怎么样,有木有心动?赶紧扫描下方二维码加入腾云先锋反馈交流群中来吧!
添加描述