“后端项目离线打包部署_CentOS8_docker”
离线安装docker
环境:
CentOS Stream release 8
安装包介绍
containerd.io-1.3.7-3.1.el8.x86_64.rpm —- 容器服务
docker-ce-19.03.13-3.el8.x86_64.rpm —- docker服务
docker-ce-cli-19.03.13-3.el8.x86_64.rpm — docker 客户端
第一步:安装包上传
将安装包上传到linux,路径(自定义):/data/docker/:cd /data/docker/
使用到的文件均放在:
链接:https://pan.baidu.com/s/14iHhF2qoUhHm6l41WNVnsA?pwd=mco8
提取码:mco8
第二步:安装包安装(1)
安装:rpm -ivh containerd.io-1.3.7-3.1.el8.x86_64.rpm
问题:
措施:删除runc dnf remove runc
安装:rpm -ivh elinux-2.124.0-1.gitf958d0c.module_el8.3.0+569+1bada2en
oarch.rpm
继续之前的命令:rpm -ivh containerd.io-1.3.7-3.1.el8.x86_64.rpm
第三步:安装包安装(2)
安装:rpm -ivh docker-ce-cli-19.03.13-3.el8.x86_64.rpm
第四步:安装包安装(3)
安装:rpm -ivh docker-ce-19.03.13-3.el8.x86_64.rpm
问题:
安装:rpm -ivh libcgroup-0.41-19.el8.x86_64.rpm
继续之前的命令:rpm -ivh docker-ce-19.03.13-3.el8.x86_64.rpm
安装成功
第五步:Docker启动
启动docker:systemctl start docker
项目打包
Eclipse:maven clean;Maven install
问题:
针对maven添加指示启动类的插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration> <mainClass>com.cvicse.redismanager.RedisManagerApplication</mainClass>
<skip>false</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
项目部署
直接部署
将jar包之间上传到服务器,使用命令启动:java -jar /data/proj/A.jar
Docker部署
第一步:Dockerfile文件
创建一个名为Dockerfile的文件,内容:
使用基础镜像
From openjdk:8-jdk
将可运行的AR文件复制到容器内指定位置
COPY ./A.jar dockerProj/A_server/
暴露应用程序的默认端口
EXPOSE 8182
启动应用程序
CMD [“java”, “-jar”, “dockerProj/A_server/A.jar”]
第二步:建立镜像
docker build -t a-server .
问题:
基础镜像需要联网引入
从相同环境的联网机上安装镜像,压缩后使用ftp等传到局域网目标机器上。
已提供centos8 openjdk8压缩包,无需再次下载
下载openjdk8(联网机):docker pull openjdk:8-jdk
将镜像压缩(联网机):docker save -o openjdk8.tar openjdk:8-jdk
将镜像部署(目标机):docker load -i openjdk8.tar
检测镜像是否部署完成:docker images
重新执行:docker build -t a-server .
Dockerfile的from指令对象“openjdk:8-jdk”由三部分组成,使用docker images列出以上步骤传入的openjdk8信息,其中“openjdk:8-jdk”分别由REPOSITORY + “:” + TAG 组成(REPOSITORY和TAG为docker images结果的字段)。
检测是否成功:docker images
第三步:创建并启动容器
启动项目:docker run --name backend-container -p 8182:8080 backend-app
访问项目:
第四步:对镜像压缩、删除、加载、容器创建、服务访问
对镜像进行压缩:docker save -o a-server.tar a-server:latest
对镜像进行删除:docker rmi openjdk:8-jdk
docker rmi a-server
对镜像进行加载:docker load -i a-server.tar
容器创建:docker run -d --name A1 -p 8182:8080 a-server
服务访问
版权归原作者 我不是你的梦 所有, 如有侵权,请联系我们删除。