废话:做网站的时候涉及到运行服务器中部署的R、python等软件。但是每次改完都需要上传到服务器中再传到docker里,真是超麻烦。今天终于忍不住了和网上的大神们学习了一下idea部署。在这里记录一下,以备不时之需。IntelliJ [IDEA]的Docker插件能把我们当前的工程制作成Docker镜像、运行在指定的远程机器上。
首先在idea中添加docker插件
File/Setting/Plugins/docker服务器中安装docker
直接看Docker 教程 | 菜鸟教程 (runoob.com)
docker安装成功后需要开启远程访问功能
这里把docker.service中的ExecStart这行改成如下就好。
vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:4531 -H unix:///var/run/docker.sock
端口随便写,大神们都写的2376
回到idea中conn docker
这一步是连接到远程的Docker服务器,连接成功后在idea下面的Services中即可看到docker,启动后就能看见服务器中的images和containers。下面的"dockerfile, docker image, docker compose" 都需要用到他,他是个前提,只有连接上docker才能做其他的事情。
File/Setting/Bulid/docker
创建dockerfile文件
在springboot项目的src/main目录下创建名为docker的文件夹,并在下面创建文件Dockerfile(会根据此dockerfile拉取镜像,构建镜像时将执行此文件)
# 需要pull的镜像,你有就在你的镜像里调用,没有就会在仓库下(自动的不用管)
FROM conen:1.0
# 维护者
MAINTAINER zhangsan@163.com
#将webapp下的内容全部删除
RUN rm -rf /usr/local/tomcat/webapps/*
#将target下的ConEn.war拷贝到/usr/local/tomcat/webapps/下
ADD ConEn.war /usr/local/tomcat/webapps/
#暴漏端口
EXPOSE 8080
#设置启动tomcat命令
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
docker file配置
右上角或者setting中配置dockerfile信息
dockerfile文件配置
其中Run options:输入框处可添加执行的docker命令的参数。
例如:
-v /mnt/data2/workspace/:/usr/local/tomcat/apache-tomcat-8.5.46/webapps
则可以添加共享卷
项目打包放到docker文件夹中(路径问题可以自己尝试调整)
运行docker
直接点击运行即可构建生成镜像conen:1.0按照dockerfile文件执行成功,容器也部署成功
网友评论