idea集成docker 推送镜像至服务器(不适用于线上环境,暴露端口不安全)

1.安装doucker 给出快速车道安装docker,以及docker可视化工具

2.docker安装好之后,修改修改docker配置文件,开放2375端口,此端口适合内网开发环境,公网暴露端口很危险!别人可以入侵你的docker
具体配置文件位置:

如果是阿里云服务器,需要在阿里管控台安全组内开启2375端口,并且注意服务器防火墙是否关闭,开启的话,需要开启2375端口,才可访问

/usr/lib/systemd/system/docker.service

修改此行,开启2375端口,远程可访问docker

ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock

3.idea中安装docker插件,高版本idea都会自带docker插件,只需要连接docker服务器即可

在这里插入图片描述

例如

tcp://121.0.0.0:2375

5:配置docker-maven-plugin 插件,配置贴在下方,
此配置maven package 就会生成docker镜像,然后推送到服务器,打包完成,可使用docker images查看

idea中安装docker插件,maven中进行配置,推送docker镜像至服务器

    <build>
        <plugins>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!--no main manifest attribute, in /app.jar
                    项目基于maven pom多模块的开发的,需要设置goal-repackage属性为true,
                    否则打包后文件依赖文件没有一起打包,然后镜像内没有可以运行的程序文件
                 -->
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!--指定生成的镜像名 前缀加项目artifactId坐标 -->
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>

                    <!-- 基础镜像jdk 1.8-->
                    <baseImage>java</baseImage>
                    <!-- 制作者提供本人信息 -->
                    <maintainer>yanjun.liu</maintainer>

                    <!--切换到/ROOT目录 -->
                    <workdir>/ROOT</workdir>
                    <!--                    <cmd>["java", "-version"]</cmd>-->
                    <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
                    <!-- 指定 Dockerfile 路径 ${project.basedir}:项目根路径下,这是第二种方式需要配置的-->
                    <!--   <dockerDirectory>${project.basedir}</dockerDirectory>-->
                    <!--指定远程 docker api地址-->
                    <dockerHost>http://0.0.0.0:2375</dockerHost>
                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/ROOT</targetPath>
                            <!--用于指定需要复制的根目录,${project.build.directory}表示target目 录-->
                            <directory>${project.build.directory}</directory>
                            <!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包 后的jar包文件。-->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <!-- 以下两行是为了docker push到DockerHub使用的。-->
                    <!--                    <serverId>docker-hub</serverId>
                                        <registryUrl>https://index.docker.io/v1</registryUrl>-->
                </configuration>
                <!--maven package 自动构建镜像到服务器 -->
                <executions>
                    <execution>
                        <id>build-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

插件安装成功,确保2375端口开放,即可连接docker

在这里插入图片描述

创建容器,运行

在这里插入图片描述

编辑容器名称。指定映射端口,即可启动容器

这种方式只适用于内网,外网暴露2375端口太不安全了,而且重新打包镜像目前镜像还不能覆盖上一次的镜像,所有用起来感觉有点麻烦,后面在考虑做升级吧,或者说用其他方式去部署,待更。。。。。

注意pom文件,镜像是根据你自己的定义方式进行镜像名称命名的。镜像名称不能有大写否则会报错哦!!!

告辞!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将本地 Docker 镜像至腾讯云 CVM 云服务器之前,需要进行以下几个步骤: 1. 在腾讯云 CVM 云服务器上安装 Docker,并启动 Docker 服务。 2. 在腾讯云 CVM 云服务器上创建 Docker 镜像仓库(如果还没有创建)。 接下来,可以按照以下步骤将本地 Docker 镜像至腾讯云 CVM 云服务器: 1. 将本地 Docker 镜像打标签,标明要到的 Docker 镜像仓库地址,例如: ``` $ docker tag [本地镜像名称] [腾讯云CVM云服务器镜像仓库地址]/[镜像名称]:[标签] ``` 其中,`[本地镜像名称]` 是本地已经构建好的 Docker 镜像名称;`[腾讯云CVM云服务器镜像仓库地址]` 是在腾讯云 CVM 云服务器上创建的 Docker 镜像仓库地址;`[镜像名称]` 和 `[标签]` 可以自定义。 2. 登录腾讯云 Docker 镜像仓库,例如: ``` $ docker login --username=[腾讯云账号名称] --password=[腾讯云账号密码] [腾讯云CVM云服务器镜像仓库地址] ``` 其中,`[腾讯云账号名称]` 和 `[腾讯云账号密码]` 是腾讯云账号的用户名和密码;`[腾讯云CVM云服务器镜像仓库地址]` 是在腾讯云 CVM 云服务器上创建的 Docker 镜像仓库地址。 3. 本地 Docker 镜像到腾讯云 Docker 镜像仓库,例如: ``` $ docker push [腾讯云CVM云服务器镜像仓库地址]/[镜像名称]:[标签] ``` 其中,`[腾讯云CVM云服务器镜像仓库地址]`、`[镜像名称]` 和 `[标签]` 与第一步打标签时保持一致。 完成后,在腾讯云 CVM 云服务器上可以使用以下命令拉取 Docker 镜像: ``` $ docker pull [腾讯云CVM云服务器镜像仓库地址]/[镜像名称]:[标签] ``` 同样,`[腾讯云CVM云服务器镜像仓库地址]`、`[镜像名称]` 和 `[标签]` 与前面的步骤保持一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值