将java项目部署到linux
命令解析
Dockerfile: Dockerfile 是一个文本文件,包含了所有必要的指令来组装(build)一个 Docker 镜像。
docker build: 根据 Dockerfile 或标准指令来构建一个新的镜像。
docker save: 将本地镜像保存为一个 tar 文件。
docker load: 从 tar 文件中加载镜像。
docker images: 列出本地主机上的镜像。
docker pull: 从镜像仓库中拉取一个镜像或仓库中的某个标签(tag)的内容。
docker push: 将本地镜像推送到镜像仓库。
docker run: 运行一个新的容器实例。
docker logs: 获取容器的日志输出。
docker exec: 在运行中的容器内执行命令。
docker ps: 列出当前所有运行中的容器。
docker start: 启动一个或多个之前停止运行的容器。
docker stop: 停止一个或多个运行中的容器。
docker rm: 删除一个或多个容器。
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