docker 结合idea一键部署项目到服务器

Docker 结合idea 一件部署应用到服务器
服务器:
1.修改docker的配置文件,在ExecStart后面添加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
[root@localhost ~]# vim /usr/lib/systemd/system/docker.service
修改后文件:
ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
–add-runtime docker-runc=/usr/libexec/docker/docker-runc-current
–default-runtime=docker-runc
–exec-opt native.cgroupdriver=systemd
–userland-proxy-path=/usr/libexec/docker/docker-proxy-current
–init-path=/usr/libexec/docker/docker-init-current
–seccomp-profile=/etc/docker/seccomp.json
$OPTIONS
$DOCKER_STORAGE_OPTIONS
$DOCKER_NETWORK_OPTIONS
$ADD_REGISTRY
$BLOCK_REGISTRY
$INSECURE_REGISTRY
$REGISTRIES

修改完重启
systemctl daemon-reload && systemctl restart docker
效果如图:
在这里插入图片描述

Idea:

1.在idea中添加docker依赖




org.springframework.boot
spring-boot-maven-plugin



com.spotify
docker-maven-plugin
1.0.0


d o c k e r . i m a g e . p r e f i x / {docker.image.prefix}/ docker.image.prefix/{project.artifactId}
p r o j e c t . b a s e d i r / s r c / m a i n / d o c k e r < / d o c k e r D i r e c t o r y > < r e s o u r c e s > < r e s o u r c e > < t a r g e t P a t h > / < / t a r g e t P a t h > < d i r e c t o r y > {project.basedir}/src/main/docker / project.basedir/src/main/docker</dockerDirectory><resources><resource><targetPath>/</targetPath><directory>{project.build.directory}
p r o j e c t . b u i l d . f i n a l N a m e . j a r < / i n c l u d e > < / r e s o u r c e > < / r e s o u r c e s > < / c o n f i g u r a t i o n > < / p l u g i n > < ! − − 复 制 j a r 包 到 指 定 目 录 − − > < p l u g i n > < a r t i f a c t I d > m a v e n − a n t r u n − p l u g i n < / a r t i f a c t I d > < e x e c u t i o n s > < e x e c u t i o n > < p h a s e > p a c k a g e < / p h a s e > < c o n f i g u r a t i o n > < t a s k s > < c o p y t o d i r = " s r c / m a i n / d o c k e r " f i l e = " t a r g e t / {project.build.finalName}.jar maven-antrun-plugin package project.build.finalName.jar</include></resource></resources></configuration></plugin><!jar><plugin><artifactId>mavenantrunplugin</artifactId><executions><execution><phase>package</phase><configuration><tasks><copytodir="src/main/docker"file="target/{project.artifactId}- p r o j e c t . v e r s i o n . {project.version}. project.version.{project.packaging}">



run





2.idea安装docker插件

docker 结合idea一键部署项目到服务器_第1张图片

配置docker
docker 结合idea一键部署项目到服务器_第2张图片
点+号添加docker

docker 结合idea一键部署项目到服务器_第3张图片

添加service
docker 结合idea一键部署项目到服务器_第4张图片

docker 结合idea一键部署项目到服务器_第5张图片

docker 结合idea一键部署项目到服务器_第6张图片

在项目下的main文件夹下新建目录和文件如下

docker 结合idea一键部署项目到服务器_第7张图片
App.sh内容

#!/bin/bash
java -jar app.jar

dockerfile内容

# 指定基础镜像 这里springboot项目运行只需要java jdk环境即可
FROM java:latest
# 维护者信息
MAINTAINER zq
# 将本地的可执行文件拷贝到Docker容器中的根目录下
COPY app.sh /
#给app.sh赋予可执行权限
RUN chmod +x /app.sh
# 重命名
ADD *.jar app.jar
# 对外暴漏的端口号
EXPOSE 8081
# 运行
ENTRYPOINT ["/app.sh"] # 方式一
#ENTRYPOINT ["java", "-jar", "app.jar"]  # 方式二

docker 结合idea一键部署项目到服务器_第8张图片

3.最后点击运行即可

docker 结合idea一键部署项目到服务器_第9张图片
注意事项:那两个文件,Dockerfile 和app.sh最好在linux系统新建,再把内容复制进去,我就上了这个当。。。。

你可能感兴趣的:(docker,docker,intellij,idea,linux)