一、Docker下载(windows)
首先我们需要下载好Docker,我是参照这个文章下载的:
Docker——Windows版本Docker安装_docker windows-CSDN博客
二、部署流程
1.Dockerfile文件
在target文件夹所在目录下创建一个Dockerfile文件(直接命名Dockerfile,删掉扩展名就好了)
用vscode打开这个文件,写入以下内容,将jar包名字和端口改成你自己的:
# 使用官方的 OpenJDK 作为基础镜像
FROM openjdk:8-jre-alpine
# 将 JAR 包复制到容器中:将构建环境中 target 目录下的 music-0.0.1-SNAPSHOT.jar 文件
#复制到 Docker 镜像的 /app 目录下,并重命名为 music.jar。
COPY target/music-0.0.1-SNAPSHOT.jar /app/music.jar
# 设置容器启动时的执行命令,即容器启动时运行 JAR 包
ENTRYPOINT ["java", "-jar", "/app/music.jar"]
# 如果你的应用程序要特定的端口,可以使用 EXPOSE 命令
# 指定你的应用程序所需的端口,例如8080
EXPOSE 8888
2.构建Docker镜像
在包含 Dockerfile
的目录下运行构建命令构建 Docker 镜像:
①在包含 Dockerfile
的目录下打开cmd窗口
②输入命令:
docker build -t misic .
- docker build: 这是 Docker 命令行工具中的一个命令,用于构建 Docker 镜像。它通过读取一个 Dockerfile 来构建镜像。
- -t my-java-app: -t 是为构建的镜像指定一个标签(tag)。misic 是这个镜像的名称和标签。这个改成你自己的。
- .: 表示构建上下文是当前目录,Docker引擎会从这个目录中读取 Dockerfile 及其引用的所有文件。
这一步后就能看到docker镜像已经被构建了:
3. 运行Docker容器
在刚才的窗口运行以下命令:
docker run -d --name music_backend_container -p 8888:8888 misic
- docker run: Docker 命令行工具中的一个命令,用于启动一个新的容器。
- -d: 使容器在后台运行,这样可以继续在命令行中执行其他命令,而不被容器的输出所占用。
- --name music_backend_container: 为启动的容器指定一名称,这里命名为 music_backend_container。这个改成你要用的容器名称。
- -p 8888:8888: 将主机的端口(前一个 8888)映射到容器的端口(后一个 8888)。这样,外部可以通过访问主机的 8888 端口来访问容器内的服务。
- misic: 要运行的镜像名称。改成你刚刚构建的Docker 镜像名称。
这一步后就可以看到容器运行起来了:
因为Dockerfile里写了容器运行起来会运行我的jar包,所以jar包就被部署成功了(我的是springboot项目),可以在Docker Desktop里面看到程序运行的日志: