准备工作:

1、将要制作镜像的Springboot项目打成 jar 包。
2、将 jar 包和该程序所有配置文件放在同一文件夹下(xml、yml、txt、jar等),我这里文件夹名字为 json
3、在该文件夹下写Dockerfile.txt文件:

# 指含有jdk1.8的镜像
FROM java

# 将当前目录下面的 json-0.0.1-SNAPSHOT.jar 复制命名为 app.jar(复制后的名字可以自定义)。
copy application.yml  application.yml
copy cityCode.txt  cityCode.txt
copy Dockerfile.txt  Dockerfile.txt
copy json-0.0.1-SNAPSHOT.jar  app.jar
copy kpiCode.txt  kpiCode.txt
copy logback-spring.xml  logback-spring.xml
copy provCode.txt  provCode.txt

#修改docker的时间和宿主机时间一致
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

# 开放内部端口7071
EXPOSE 7071

# 制作镜像完成最后执行的命令,类似如下命令,只不过执行的是拷贝后的getacctvalues.jar名称
ENTRYPOINT ["java","-jar","/app.jar"]

4、将该文件夹用 XFtp 传到 linux 系统上;或者你自己在linux系统上创建一个文件夹,然后把上边copy后边的那些文件传到你创建的文件夹里也行。

创建镜像:

docker build -f /root/json/Dockerfile.txt -t json:1.0 .

参数介绍:

-f /root/json/Dockerfile.txt  指定Dockerfile文件所在地址
json 是镜像名称(自定义);
镜像名称后面是冒号(:1.0) ,1.0当前版本号(自定义的);
最后是空格加上一个点,不然会报错

创建容器:

docker create --name eureka -t -p 8089:8089 json:1.0

参数介绍:

--name 是别名为eureka
-t 让docker分配一个伪终端并绑定到容器的标准输入上
-p 8100:8100 是项目的端口号,前面是外部通讯号,后边是项目真实端口号,二者相关联,外部端口可以随意设置,此处设置为一致
json:1.0 是镜像名称和版本号

启动容器并查看日志:

docker start eureka && docker logs -f eureka

参数介绍:

docker start eureka是启动容器
&& docker logs -f eureka 启动完成之后查看日志,-f 是持续不中断(如果不想查看日志可以不写)

将容器制作成镜像

格式:docker  commit  -m  '镜像描述'  -a  '制作者'  容器名  镜像名
	docker commit -m 'json-test01'  -a  'zhangsan'  eureka  json

将制作好的镜像打成 tar 包

格式:docker  save  -o  tar包的名字  镜像名
	docker save -o /opt/json-1.tar json

将打包好的 tar 包传给别人

格式:scp  tar包所在路径  用户名@IP地址:要上传的路径
	 scp /opt/json-1.tar root@192.168.183.131:/opt/

别人接收到 tar 包之后,怎么使用 tar 包

格式:docker  load  <  tar 包所在路径
	 docker load < /opt/json-1.tar 

使用镜像

docker run -dit --name=getacctvalues --net host 544fa18ef66c /bin/bash
docker exec -it getacctvalues /bin/bash

页面访问

在 Idea 启动的时候,页面怎么访问,现在就怎么访问!

一定要关闭防火墙

sudo systemctl stop firewalld

docker小知识点

查看有哪些镜像
docker images
查看有哪些容器
docker ps -a
查看有哪些正在运行容器
docker ps
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐