pom文件中加入以下代码,用来生成jar包
<build>
<finalName>user-server</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>cn.linran.UserServerApp</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
pom中公共模块的引入
将公共模块打成jar包后
导入到maven仓库
mvn install:install-file -Dfile=D:\springcloudalibaba_nacos-master\springcloudalibaba-user-common\target\springcloudalibaba-user-common-1.0-SNAPSHOT.jar -DgroupId=cn.linran -DartifactId=springcloudalibaba-user-common -Dversion=1.0 -Dpackaging=jar
在本地生成微服务JAR包
order-server.jar,user-server.jar
将生成的微服务jar包上传
将JAR包上传
将order-server.jar,user-server.jar上传到linux 服务器上
编写打镜像的dockerfile文件
分别对每个服务编写dockerfile文件,order-server.jar 的Dockerfile文件 orderdockerfile
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
# 作者
MAINTAINER wjm
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名
ADD order-server.jar order-server.jar
# 运行jar包
ENTRYPOINT ["java","-jar","/order-server.jar"]
#暴露8090端口作为微服务
EXPOSE 1020
user-server.jar 编写usersdockerfile文件
FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:8-8.6
# 作者
MAINTAINER wjm
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名
ADD user-server.jar user-server.jar
# 运行jar包
ENTRYPOINT ["java","-jar","/user-server.jar"]
#暴露8090端口作为微服务
EXPOSE 1010
镜像打包
首先进入阿里镜像加速服务,因为docker仓库访问有时访问不到,所以要用到阿里云加速
选择镜像加速器
复制你的加速器地址
修改/etc/docker/daemon.json,没有的话新建一个
{
"registry-mirrors": ["https://*****.mirror.aliyuncs.com"],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": true
}
}
重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
在阿里云中新建一个实例列表
、
复制代码进入linux执行
sudo docker login --username=adas* @16sad.com crpi-25jaaaaaaaaaaaaa8.cn-hangzhou.personal.cr.aliyuncs.com
进入到dockerfile的当前目录,执行打包镜像命令
docker build -t order-server:1.0 -f orderdockerfile .
docker build -t userserver:1.0 -f usersdockerfile .
通过docker images,查看打好的jar包
启动容器
第一次运行时通过 docker ps -a查看所有容器,如果存在同名的使用docker rm 第一例的数字删除掉启动过得容器,如下图
首先要把nacos启动起来
./startup.sh -m standalone
启动命令
docker run -d -p 1020:1020 --name order order-server:1.0 /bin/bash
docker run -d -p 1011:1010 --name user userserver:1.0/bin/bash
docker run -d -p 1012:1010 --name user2 userserver:1.0 /bin/bash
docker run -d -p 1013:1010 --name user3 userserver:1.0 /bin/bash
注意如果上次启动过使用docker start启动即可如下图
查看结果
查看容器日志
docker logs -f 容器
访问地址
http://192.168.20.101:8848/nacos/
访问地址