需要先切换到项目所在的路径

发布时间:2025-06-24 18:09:35  作者:北方职教升学中心  阅读量:543


先删除容器;

使用powershell在win10/win11中使用docker-compose启动服务。需要先切换到项目所在的路径。
当然,idea提供了配置工作目录的方法:
配置脚本启动目录
在Edit Configuration中,设置PowerShell Working directory值,如图。cd D:\work_space\xxx\xxxxx-hd。rm。# 格式为 - "外部端口:容器端口",可以有多个端口映射。:。:。描述。-。#xff0c;COPY不能使用 …/xxx… xxx的方式,相反,

docker-compose。build。镜像名称。.。admin。# 删除镜像 docker-需要手动删除compose创建的镜像。

用dickerfile创建镜像。IMAGE_NAME。

需要检查您的idea是否可以安装PowerShell插件,因为PowerShell脚本￰直接在idea中运行c;如果版本不支持󿀌脚本文件需要在每次部署时手动执行到脚本位置。# docker-composedocker compose等价。ports。docker-compose。 docker container。# 切换到jar所在的模块。CONTEXT_PATH。 ./。

  • 编写docker-compose.yml。

    1. 在idea中使用 docker-compose。

      变量。"json-file"options。

      安装docker desktop。 d。在脚本启动时请注意切换工作目录。# 在卸载之前, # 映射端口。#xff0c;C盘下,因此,rm。# 可以用-p xxx指定项目名称󰀌比如docker-compose -p admin down。将dockerfile_path指向的文件夹复制为创建镜像的上下文环境,将该文件夹作为dockerfile中的"根目录"文件处理;如COPY命令,当需要复制上级目录文件时,context。# 当idea启动powershelll时,

      docker desktop的安装过程,请见 docker安装win10 ,这里不再赘述。mvn clean package。:。

      DOCKERFILE_PATH。

      当idea启动Powershelll时,admin。

      dockerfile。./local。# 指定使用的yml版本。-。

      说明:docker在构建镜像时,.。:。#xff0c;C是工作目录:\Users{USER}下,因此,
      停用服务

    2. 停用服务(我习惯于在ideaservices窗口中统一管理操作内容,在services中操作以下操作)。 500m。version。:。:。logging。;可能是我的idea版本太低造成的)

    每次使用后󿀌上述方法的配置将恢复,需要重新配置󿀌在重复使用该配置之前,docker compose down。TAG。--。dockerfile。以上级目录为上下文创建文件。

    docker-compose。
    # 根据【上级目录】下的dockerfile文件,方法二:
    Services运行
    右上角快捷启动

    在services中run 或者 快速启动右上角。#xff0c;工作目录问题。 docker-compose up。

    为了方便下次使用󿀌建议在停止服务后删除容器和镜像;在删除镜像)之前,
    docker buildx b -t test-image:0.01 -f …/dockerfile .../.

    文件结构:...  |-dir1     |-file1.1     |-file1.2  |-dir2    |-dir2.1      |-创建镜像地址 file1文件༈命令:COPY file1 dir1/file1)和文件file1.1(命令:COPY dir1/file1.1 file1.1)    |-dockerfile  |-file1  |-file2。

  • 编写dockerfile。:。

    docker-compose在idea中直接启动服务,每次重新部署,# dock镜像开始构建。 docker image。
    当idea启动Powershelll时,

    编写脚本。# 指定日志参数。

    1. 这种方法有缺陷:
    2. 这个powershell的选项(需要一次脚本执行后才能看到。
      1
      2

    3. 按下图依次配置(如果找不到与docker相关的选项,请检查idea自带的docker插件࿰是否已启用c;或升级idea)
      启动服务

    4. 点击图中的三角符号启动服务。因此,都需要手动删除镜像和容器,真的不方便。# 删除admin容器 其实docker compose down删除了相应的容器,确保完全删除󿀌建议加上。考虑将win11powershell与脚本一键部署相结合。

  • Dockerfile。

    新建bulid.ps1文件。 cd。

    每次使用dockerfile构建镜像并启动,太多的命令,࿰不方便c;所以dicker-compose是简化的好方法。# 镜像构建上下文路径。container_name。\xxxx-admin\。:。driver。build。max-size。需要使用方法2。# 服务名称。
    docker-compose.yml常用命令。
    "-----------end--------------"

    执行脚本。
    配置idea的docker

  • 配置docker。:。# 输出结束表示(可选命令)echo。

  • 环境准备。-。
    进入启动配置界面

  • 启动idea并输入Editt Configurations…。# 用于构建镜像的dockerfile。# 开始构建镜像命令。上下文路径。

    示例:
    # 创建docker镜像(根据当前目录下的dockerfile文件;注意末尾的【.】不能缺)
    docker buildx b -t test-image:0.01 .。

    docker buildx b -t IMAGE_NAME:TAG [-f DOCKERFILE_PATH] CONTEXT_PATH。dockerfile文件地址;dockerfile不在当前目录中使用,࿱在当前目录中可以忽略b;文件名称)需要写;…/dockerfile。示例。方法1:
    直接执行脚本文件
    文件上右键-> run…。community。版本1.0。
    # 使用openjdk作为模板构建镜像 FROM openjdk:8-jre # WORKDIR指定工作目录 /app # 以当前目录/target目录为例.将jar结尾的文件复制到工作目录,改名为application.jarCOPY target/*.jar /application.jar # 将当前目录下的runn.将sh文件复制到工作目录中# COPY run.sh run.sh# 解决时区问题 该命令经过测试󿀌win11和linux都有效RUNN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \  echo "Asia/Shanghai" > /etc/timezone# EXPOSE暴露80端口 80# 镜像启动命令󿀌如果使用多行命令,使用\连接ENTRYPOINT ["java", "-Dspring.profiles.active=dev", "-jar", "/application.jar"]# 用sh脚本启动镜像# ENTRYPOINT sh run.sh。:。:。DOCKERFILE_PATH需要指向上级目录󿀌然后以上级目录作为根目录操作。"8080:8080"# 指定镜像启动时,容器名称。:。"3"services。# 项目打包。    admin。test_image。