当前位置: 首页>编程语言>正文

Windows docker设置Docker镜像仓库 docker部署windows镜像


springboot程序制作docker镜像部署

  • 前置知识:Dockerfile是什么
  • 制作镜像的流程是什么
  • 在项目中创建Dockerfile文件
  • Dockerfile文件内容需要什么
  • 利用Maven打包项目
  • 制作镜像
  • 执行制作镜像命令
  • 启动容器


前置知识:Dockerfile是什么

Dockerfile 是用于构建 Docker 镜像的文本文件,其中包含了一系列的指令和配置,描述了如何组装一个完整的容器环境。通过 Dockerfile,开发者可以定义容器的基础操作系统、软件包安装、环境变量、启动命令等方面的设置,最终形成一个可重复构建和部署的容器镜像。

Dockerfile 常用的指令及其作用:

  1. FROM: 指定基础镜像,定义了构建过程的起点。
FROM ubuntu:20.04
  1. LABEL: 添加元数据,提供关于镜像的信息。
LABEL maintainer="your-name"
  1. RUN: 在镜像中运行命令,用于安装软件包、更新系统等。
RUN apt-get update && apt-get install -y curl
  1. WORKDIR: 设置工作目录,指定后续命令的运行路径。
WORKDIR /app
  1. COPY/ADD: 复制文件或目录到容器中。
COPY ./src /app
  1. ENV: 设置环境变量。
ENV PATH="/usr/local/bin:${PATH}" \
    JAVA_HOME="/usr/local/java"
  1. EXPOSE: 暴露容器运行时的端口。
EXPOSE 8080
  1. CMD: 容器启动时执行的默认命令,可以被覆盖。
CMD ["npm", "start"]
  1. ENTRYPOINT: 容器启动时执行的命令,与 CMD 结合使用,可接受命令行参数。
ENTRYPOINT ["java", "-jar", "app.jar"]
CMD ["--server.port=8080"]
  1. VOLUME: 创建挂载点,用于持久化存储。
VOLUME /data
  1. USER: 指定运行容器时的用户名或 UID。
USER appuser

Docker 根据 Dockerfile 中的指令逐步构建镜像,每个指令都会创建一个新的镜像层。这样的分层设计使得镜像的复用、缓存和传输更加高效。通过 Dockerfile,开发者可以定义容器的构建规则,实现可移植、可复制的容器环境。

制作镜像的流程是什么

在项目中创建Dockerfile文件

Windows docker设置Docker镜像仓库 docker部署windows镜像,Windows docker设置Docker镜像仓库 docker部署windows镜像_后端,第1张

以这个项目为例,Dockerfile创建的位置就是在项目的根目录下,和pom.xml文件同级。

Dockerfile文件内容需要什么

  1. 需要java环境,这里选择的就是java8
  2. 设置你项目在镜像里的工作路径,也就是你程序存放的路径
  3. 将你的程序复制到镜像内部
  4. 挂载配置文件和日志到宿主机
  5. 启动容器时就要启动你的程序,所以要设置默认启动命令
#基于java8镜像
FROM java:8
# 设置工作目录
WORKDIR /app
#复制jar包和配置文件到镜像内部
COPY es-1.0.0.jar /app/es.jar
COPY application.yml /app/application.yml
#这表示创建了一个在宿主机上的挂载点,容器内的数据会持久化到宿主机的这个目录下
VOLUME /app
#容器启动时就执行的命令,后面的表示读取文件
CMD ["java","-jar","/app/es.jar","--spring.config.location=/app/application.yml"]

利用Maven打包项目

Windows docker设置Docker镜像仓库 docker部署windows镜像,Windows docker设置Docker镜像仓库 docker部署windows镜像_Dockerfile_02,第2张

将程序打包成jar包application.ymlDockerfile一同上传至服务器,比如存放在/app目录下

制作镜像

Windows docker设置Docker镜像仓库 docker部署windows镜像,Windows docker设置Docker镜像仓库 docker部署windows镜像_docker_03,第3张

执行制作镜像命令

#es-image是镜像的名字,v1.0是镜像的标签也就是版本,最后的‘.’表示Dockerfile的位置就在当前目录,如果你的不在当前目录你就写你的Dockerfile所在的目录
docker build -t es-image:v1.0 .

Windows docker设置Docker镜像仓库 docker部署windows镜像,Windows docker设置Docker镜像仓库 docker部署windows镜像_docker_04,第4张

启动容器

#指定端口、挂载宿主机配置文件和日志
docker run -d -p 30000:30000 \
-v /app/application.yml:/app/application.yml \
-v /app/logs:/app/logs \
--name es es-image:v1.0
docker ps

Windows docker设置Docker镜像仓库 docker部署windows镜像,Windows docker设置Docker镜像仓库 docker部署windows镜像_docker_05,第5张

程序正常运行

tail -fn 100 info.log

Windows docker设置Docker镜像仓库 docker部署windows镜像,Windows docker设置Docker镜像仓库 docker部署windows镜像_后端_06,第6张

日志正常打印

至此镜像制作完成



https://www.xamrdz.com/lan/5km1963091.html

相关文章: