基于IDEA操作springboot项目构建docker镜像部署到云服务器并在idea把镜像推送到harbor仓库

云服务器系统环境: 华为云 Ubuntu 9.3.0-17ubuntu1~20.04

1.ECS准备docker相关环境

1.1ECS安装docker

一行一行执行 都是从官网找的命令

sudo -i
apt update
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

– 安装最新版

apt update
apt install docker-ce docker-ce-cli containerd.io
systemctl status docker

在这里插入图片描述
锁住当前版本

apt-mark hold docker-ce

修改2375端口 防止被攻击

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

加上

-H tcp://0.0.0.0:4566

在这里插入图片描述
保存

systemctl daemon-reload
systemctl restart docker
systemctl status docker

在这里插入图片描述
测试

curl http://localhost:4566/version

在这里插入图片描述
在这里插入图片描述
修改docker镜像源

vi /etc/docker/daemon.json

复制上

{
  "registry-mirrors": ["http://hub-mirror.c.163.com","https://registry.docker-cn.com"]
}

配置完毕重启下docker服务

systemctl daemon-reload 
systemctl restart docker

1.2安装docker-compose

docker-compose有V1和V2版本,我用的是V2
有两种
第一种是链接下载

curl -L "https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

授权

 chmod +x /usr/local/bin/docker-compose

第二种从github下载文件 手动传到服务器
链接:https://pan.baidu.com/s/1yhw1-VVvhIn6kyx4j-lzVQ
提取码:hb3n
手动传到目录
/usr/local/bin

mv  docker-compose-linux-x86_64 docker-compose

在这里插入图片描述

chmod +x /usr/local/bin/docker-compose
docker compose version

在这里插入图片描述

1.3 安装harbor

我也给你们下载好了
链接:https://pan.baidu.com/s/1HALIQ6Nn61FNVQ44pdpVAg
提取码:yxqa
也可以自己去github下载
手动传到服务器
在这里插入图片描述
解压

tar -xvf harbor-offline-installer-v2.8.2.tgz

修改文件名为 harbor.yml

mv harbor.yml.tmpl harbor.yml

在这里插入图片描述

vi harbor.yml

修改
hostname: 你的云服务器公网IP地址
port: 端口 默认80
把https注释掉
harbor_admin_password: harbor登录密码
在这里插入图片描述
运行

bash install.sh

访问页面

http://139.9.xx.xx:85/
在这里插入图片描述
创建用户和创建项目 给项目分配用户
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.准备springboot项目 构建镜像发布

2.1 idea连接docker

File---->settings—>搜索docker 没有就去plugin下载
配置tcp地址:tcp://139.9.xx.xx:4566
在这里插入图片描述

2.2配置系统环境变量

变量名:DOCKER_HOST
变量值:tcp://139.9.xx.xx:4566

在这里插入图片描述
注意: 重启电脑

2.3 配置maven的settings.xml文件

<server>
       <id>139.xxx:85</id>
       <username>damowang</username>
       <password>xxxxxxx</password>
       <configuration>
        <email>m1836xxxx102@163.com</email>
       </configuration>
    </server>

在这里插入图片描述

2.4修改pom.xml文件

注意 这个

   <build>
        <finalName>alice</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.10</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <goals>
                            <goal>build</goal>
                            <goal>push</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                	<!-- 不写这个 生成出来的镜像没有镜像ID-->
                    <dockerfile>E:\insuper\alice\Dockerfile</dockerfile>
                    <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
                    <!-- 生成镜像的repository 看下图-->
                    <repository>${project.artifactId}</repository>
                    <tag>${project.version}</tag>
                    <!--Dockerfile中引用到的参数-->
                    <buildArgs>
                        <JAR_FILE>target/alice.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>

pom.xml配置的repository
在这里插入图片描述

2.5编写Dockerfile文件

FROM openjdk:8-alpine
WORKDIR /usr/local
EXPOSE 13500
ADD  ./target/alice.jar .
ENTRYPOINT   ["java","-jar","alice.jar"]

这个文件你乱写的话 容易报这个错DockerException: ADD failed: xxxxxxxxx,no such file or directory
这个文件要放在和pom.xml文件平级
在这里插入图片描述

2.6 idea执行mvn clean package

![(https://img-blog.csdnimg.cn/3768da31360e490f839b01edd219fcf7.png)

在这里插入图片描述
我们看一下云服务器有没有镜像了

docker images

在这里插入图片描述

可以看到之前是没有的镜像的 , mvn clean package执行完之后构建成功

2.7 idea配置harbor仓库地址把镜像推送到harbor

File------>settings.xml-----搜docker
注意:
Address: 139.xx.xx.xx:85/jinan-lab 你harbor仓库登录地址:端口号/项目名
在这里插入图片描述
下面
Username: 该仓库下成员用户名
Password: 密码
Email: 邮箱
这仨要写就都写上 就是harbor创建的用户
在这里插入图片描述
server选docker
在这里插入图片描述

从idea连接的docker里面可以看到打的镜像
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
上传成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/a355545d5f444cd88daff3756028ab03.png在这里插入图片描述

看一下harbor仓库
在这里插入图片描述文章来源地址https://www.uudwc.com/A/wJ2X8/

原文地址:https://blog.csdn.net/TaoShao521/article/details/131418257

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月02日 07:34
Appium: Windows系统桌面应用自动化测试(一)
下一篇 2023年07月02日 07:34