Docker idea部署及io.fabric8:docker-maven插件推送仓库
前言:最近项目进行到了部署阶段,以往的部署方式都是拷贝jar包和docker-compose文件到测试和上线环境,这显然不够便捷,所以我和小伙伴花些时间对整个项目进行了docker重构(也是边学边做,如有不规范的地方,请大佬指教)。1.idea环境配置(1).配置远程连接docker注意:这里的远程docker宿主机需要开启相应的配置写docker服务配置vi /lib/systemd/syste
·
1.idea环境配置
(1).配置远程连接docker
注意:这里的远程docker宿主机需要开启相应的配置
写docker服务配置
vi /lib/systemd/system/docker.service
修改ExecStart字段
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
保存文件,更新修改
systemctl daemon-reload
重启docker服务
service docker restart
(2).添加本地docker-compose执行文件
注意:这里你需要下载docker desktop for windows
(3).添加docker-compose运行配置
2.Dockerfile编写
示例:
FROM java:8
# 这里使用COPY会有点问题,给忘了,大家注意下
ADD ./target/apigateway_9100-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 9100
ENTRYPOINT ["java","-jar","app.jar"]
3.docker-compose编写
示例1:pig‘s docker-compose,一些开源项目参考
示例2:
version: "3"
services:
if-acl: # docker内服务名称(区别于application.name)
container_name: if-acl # 容器名称
build:
context: ./service/service_acl_8019 # dockerfile所在路径
dockerfile: Dockerfile # docker名称,默认为Dockerfile
# ports:
# - 8019:8019
volumes:
- /project/${通常是你的项目名}/logs:/logs # 卷挂载
if-gateway:
container_name: if-gateway
build:
context: ./apigateway_9100
ports:
- 9100:9100
volumes:
- /project/${通常是你的项目名}/logs:/logs
networks:
default:
external:
name: ifdockercompose_if_network #注意docker-net启动会默认把所在目录名添加为name的前缀
4.io.fabric8:docker-maven配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--docker打包工具-->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.33.0</version>
<!--全局配置-->
<configuration>
<!--配置远程docker守护进程url-->
<dockerHost>${docker.host}</dockerHost>
<!--认证配置,用于私有registry认证-->
<authConfig>
<username>${docker.username}</username>
<password>${docker.password}</password>
</authConfig>
<!--镜像相关配置,支持多镜像-->
<images>
<!-- 单个镜像配置 -->
<image>
<!--镜像名(含版本号)-->
<name>rbmq:${project.version}</name>
<!--registry地址,用于推送,拉取镜像-->
<registry>192.168.170.61:8201/${docker.image.registry}</registry>
<!--镜像build相关配置-->
<build>
<!--使用dockerFile文件-->
<dockerFile>${project.basedir}/Dockerfile</dockerFile>
</build>
</image>
</images>
</configuration>
</plugin>
</plugins>
</build>
大功告成!!!
更多推荐
已为社区贡献2条内容
所有评论(0)