云服务器系统环境: 华为云 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文章来源:https://www.uudwc.com/A/wJ2X8/
看一下harbor仓库
文章来源地址https://www.uudwc.com/A/wJ2X8/