Docker idea部署及io.fabric8:docker-maven插件推送仓库

1.idea环境配置

(1).配置远程连接docker
Docker idea部署及io.fabric8:docker-maven插件推送仓库_第1张图片
注意:这里的远程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 idea部署及io.fabric8:docker-maven插件推送仓库_第2张图片
注意:这里你需要下载docker desktop for windows
(3).添加docker-compose运行配置
Docker idea部署及io.fabric8:docker-maven插件推送仓库_第3张图片

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>

大功告成!!!

你可能感兴趣的:(Docker,docker,docker-compose,项目架构)