记用docker部署springcloud项目

本文详细介绍在CentOS7上使用Docker部署Java应用程序的过程,包括安装Docker、配置镜像加速器、下载Java8、修改配置文件、构建Docker镜像及运行容器等关键步骤。同时提供解决容器间访问问题的思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统是CentOS7
安装Docker
参考阿里云的官方教程:https://help.aliyun.com/document_detail/60742.html
在这里插入图片描述
镜像加速器参考阿里云的官方教程:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
在这里插入图片描述
下载java8

docker pull java:8

更改application.properties的hostname为宿主机地址并打包

(宿主机ip就是你docker安装在哪台的主机的ip)
上传打包好的jar包到(例:weather-eureka-server-0.0.1-SNAPSHOT.jar)
/app/weather目录下(使用Xshell的文件传输)

编辑Dockerfile文件使用命令

vi Dockerfile

# 基于哪个镜像
FROM java:8
# 拷贝文件到容器,前面是jar包的名字,后面的是容器名
ADD weather-eureka-server-0.0.1-SNAPSHOT.jar app.jar
#端口号
EXPOSE 8761
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/app.jar"]

构建镜像( . 表示当前路径)

docker build -t eureka-server:0.0.1 .

启动eureka-server

docker run -d -p 8761:8761 eureka-server:0.0.1

浏览器访问 http://121.40.231.9:8761
在这里插入图片描述
Tips:

查看运行的容器
docker ps
停止容器
docker stop 容器id
关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

后面的几个jar包类似:
打包前注意更改配置文件中的主机地址,注意更改Dockerfile的jar包名和端口号
分别建几个文件夹:city,zuul,collection,data,report
端口号依次改成了8762,8763,8764,8765,8766

列出镜像(删除本地镜像 docker rmi 镜像id

docker images

在这里插入图片描述
然而启动后,无法访问。。。

docker里的容器之间需要关联才能进行互相访问
在这里插入图片描述