将java项目部署到linux

发布于:2024-12-20 ⋅ 阅读:(9) ⋅ 点赞:(0)


命令解析

  1. Dockerfile: Dockerfile 是一个文本文件,包含了所有必要的指令来组装(build)一个 Docker 镜像。

  2. docker build: 根据 Dockerfile 或标准指令来构建一个新的镜像。

  3. docker save: 将本地镜像保存为一个 tar 文件。

  4. docker load: 从 tar 文件中加载镜像。

  5. docker images: 列出本地主机上的镜像。

  6. docker pull: 从镜像仓库中拉取一个镜像或仓库中的某个标签(tag)的内容。

  7. docker push: 将本地镜像推送到镜像仓库。

  8. docker run: 运行一个新的容器实例。

  9. docker logs: 获取容器的日志输出。

  10. docker exec: 在运行中的容器内执行命令。

  11. docker ps: 列出当前所有运行中的容器。

  12. docker start: 启动一个或多个之前停止运行的容器。

  13. docker stop: 停止一个或多个运行中的容器。

  14. docker rm: 删除一个或多个容器。

  15. docker rmi: 删除一个或多个镜像。

1.将可运行的项目进行打包

2.打包的传入到linux中

1. Dockerfile文件
2. 打包好的jar包

3. 与项目相对应的jdk(linux——djk)


4. 将jar加载到docker

docker build -t hmall . 是一个 Docker 命令,用于从当前目录(. 表示当前目录)下的 Dockerfile 构建一个名为 hmall 的 Docker 镜像。

  • docker build:这是 Docker 构建镜像的命令。
  • -t hmall-t 参数用于给新构建的镜像指定一个标签(tag),这里标签是 hmall
  • .:表示 Dockerfile 所在的上下文路径,. 表示当前目录。
docker build -t hmall .

为了给Docker中的容器分配固定的Docker内网IP地址,而且还跟其他现存的Docker容器IP不冲突,所以我们新创建一个Docker内网的网段。网络名字叫做mynet,网段是172.18.0.X,以后我们创建的容器都分配这个网段的IP。需要注意,172.18.0.1是网关的IP,我们不能用。
docker network create --subnet=172.18.0.0/18 mynet
 

docker run -d --name hm -p 8080:8080 --network mynet hmall 用于在 Docker 中启动一个名为 hmall 的容器,并将其连接到名为 mynet 的网络。以下是命令参数的详细解释:

  • docker run:Docker 运行容器的命令。
  • -d:表示以“分离模式”运行容器,即在后台运行。
  • --name hmall:为容器指定名称 hm
  • -p 8080:8080:将容器内部的 8080 端口映射到宿主机的 8080 端口。
  • --network mynet:将容器连接到名为 mynet 的网络。
  • hmall:指定要运行的镜像名称,这里假设您已经有一个名为 hmall 的镜像。
docker run -d --name hmall -p 8080:8080 --network mynet hmall

5. 运行项目

启动docker

systemctl start docker

启动容器-----hm

docker start hm

启动容器-----mysql

docker start mysql_1

执行启动程序

 docker logs hm