docker+eclipse+maven 搭建快速开发平台

本文详细介绍了在Windows7和Centos7.7环境下Docker的安装过程,包括使用yum进行在线安装及配置镜像加速。同时,文章还探讨了Docker存储驱动的工作原理,特别是overlayFS的使用,并提供了清理Docker空间的方法。此外,文中还讲解了如何在Eclipse中配置Docker插件,以及如何使用Maven和Docker Maven插件构建和部署Java应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建环境

winds7 和 Centos 7.7中Docker安装方法 

1.docker环境安装

这里推荐使用yum安装,离线环境可以下载 Centos7 的全镜像 iOS 包挂载到yum

yum install -y docker

安装完成即可

查看相关目录

rom -ql  docker 

配置环境目录

/etc/docker/daemon.json 为配置文件

"registry-mirrors":["https://lq7fh6ix.mirror.aliyuncs.com"],  远程镜像加速
"hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"] docker监听服务 API 开启,便于远程连接操作 "

insecure-registries": [] 私有仓库地址

参考网页https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file

 

/var/lib/docker 为镜像,容器存放地点

下面目录内容:

overlay驱动只能工作在两层之上。也就是说多层镜像不能用多层OverlayFS实现。替代的,每个镜像层在/var/lib/docker/overlay中用自己的目录来实现,使用硬链接这种有效利用空间的方法,来引用底层分享的数据。注意:Docker1.10之后,镜像层ID和/var/lib/docker中的目录名不再一一对应。
  创建一个容器,overlay驱动联合镜像层和一个新目录给容器。镜像顶层是overlay中的只读lowerdir,容器的新目录是可写的upperdir。

/var/lib/docker/overlay 

网上查一下这个目录的作用,说是 overlay/overlay2表示Docker的存储驱动,可以参考一下这篇文章:https://blog.csdn.net/styshoo/article/details/60715942

也就是说容器/镜像等都会存在这个目录下,当量大的时候就会占满硬盘。

也可以参考官网(https://docs.docker.com/storage/storagedriver/overlayfs-driver/

使用 docker system prune来自动清理空间,

  • 该指令默认会清除所有如下资源:
    • 已停止的容器(container)
    • 未被任何容器所使用的卷(volume)
    • 未被任何容器所关联的网络(network)
    • 所有悬空镜像(image)。
  • 该指令默认只会清除悬空镜像,未被使用的镜像不会被删除。
  • 添加 -a 或 --all 参数后,可以一并清除所有未使用的镜像和悬空镜像。
  • 可以添加 -f 或 --force 参数用以忽略相关告警确认信息。
  • 指令结尾处会显示总计清理释放的空间大小。

以上为docker 安装

eclipse 需要 安装IDE 插件在超市中 搜 docker-tools安装

配置镜像选择TCP 连接

参考网页:https://blog.csdn.net/oLinBSoft/article/details/86556443?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158760577619724839234278%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=158760577619724839234278&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-2

3。使用docker maven plugin,这里需要安装maven 不做多介绍 


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <!-- since 2.0 -->
                <version>3.7.0</version>
                <configuration>
                    <!-- use the Java 8 language features -->
                    <source>1.8</source>
                    <!-- want the compiled classes to be compatible with JVM 1.8 -->
                    <target>1.8</target>
                    <!-- The -encoding argument for the Java compiler. -->
                    <encoding>UTF8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                    <imageName>mavendemo</imageName>
                    <baseImage>java8</baseImage>
                    <!-- <maintainer>docker_maven docker_maven@email.com</maintainer>

                    <workdir>/ROOT</workdir> -->
                    <cmd>["java", "-version"]</cmd>
                    <!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
  
                    <!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid repository 
                        name ... only [a-z0-9-_.] are allowed -->

                    <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

提示maven ${project.build.directory}  默认 target目录 ${project.build.finalName} 打包名 ${basedir} 工程目录

参考博客:https://blog.csdn.net/aixiaoyang168/article/details/77453974?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158762067919725211947644%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.57644%2522%257D&request_id=158762067919725211947644&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值