跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 卖家故事 > docker desktop使用手册

docker desktop使用手册

时间:2024-04-21 08:20:31 来源:网络cs 作者:胡椒 栏目:卖家故事 阅读:

标签: 手册  使用 
阅读本书更多章节>>>>

安装docker desktop

docker desktop的安装流程,请见 win10安装docker ,此处不再进行赘述。

dockerfile

# 使用openjdk作为模板构建镜像 FROM openjdk:8-jre # 指定工作目录WORKDIR /app # 将当前目录/target目录下的以.jar结尾的文件复制到工作目录,并改名为application.jarCOPY target/*.jar /application.jar # 将当前目录下的run.sh文件复制到工作目录中# COPY run.sh run.sh# 解决时区问题 此命令经测试,win11和linux均有效RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \  echo "Asia/Shanghai" > /etc/timezone# 对外暴露80端口EXPOSE 80# 镜像启动命令,如果使用多行命令,使用\进行连接ENTRYPOINT ["java", "-Dspring.profiles.active=dev", "-jar", "/application.jar"]# 使用sh脚本启动镜像# ENTRYPOINT sh run.sh
使用dickerfile创建镜像
docker buildx b -t IMAGE_NAME:TAG [-f DOCKERFILE_PATH] CONTEXT_PATH
变量描述示例
IMAGE_NAME镜像名称test_image
TAG版本1.0
DOCKERFILE_PATHdockerfile文件地址(dockerfile不在当前目录时使用,在当前目录时可忽略;需要写到文件名称)…/dockerfile
CONTEXT_PATH上下文路径.

说明:docker构建镜像时会将DOCKERFILE_PATH所指向的文件夹拷贝作为创建镜像的上下文环境,当dockerfile中将该文件夹作为"根目录"进行文件处理;如COPY命令,需要拷贝上级目录文件时,不能使用COPY …/xxx… xxx的方式,而是需要将DOCKERFILE_PATH指向上级目录,然后以上级目录作为根目录进行操作。

示例:
# 根据当前目录下的dockerfile文件创建docker镜像(注意末尾的【.】不能缺失)
docker buildx b -t test-image:0.01 .
# 根据【上级目录】下的dockerfile文件并已【上上级目录】作为上下文创建文件
docker buildx b -t test-image:0.01 -f …/dockerfile …/…/

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

docker-compose

每次使用dockerfile构建镜像并启动,命令实在太多,不方便,于是dicker-compose便是个简化的好方法。

docker-compose.yml常用命令
# 指定使用的yml版本version: "3"services:  # 服务名称  community:    # 映射端口     ports:      # 格式为 - "外部端口:容器端口",可以有多个端口映射      - "8080:8080"    # 指定镜像启动时,容器名称    container_name: admin    # 指定日志参数    logging:      driver: "json-file"      options:        max-size: 500m    # 构建镜像命令开始    build:      # 镜像构建上下文路径      context: ./      # 构建镜像使用的dockerfile      dockerfile: ./local-Dockerfile
在idea中使用 docker-compose

编写dockerfile

编写docker-compose.yml

启动idea,并进入Edit Configurations…
进入启动配置界面

配置docker
配置idea的docker

按照下图依次配置即可(若无法找到docker相关的选项,请检查是否已经启用idea自带的docker插件,或者升级idea)
1
2

点击图中三角符号即可启动服务
启动服务

停用服务(本人习惯在idea的services窗口中统一管理运行内容,以下操作在services中进行操作)
停用服务

为了方便使用下次使用,建议停止服务后删除容器和镜像(先删除容器后才能删除镜像)

使用PowerShell在win10/win11中使用docker-compose启动服务

在idea中使用docker-compose直接启动服务,每次重新部署都需要手动删除镜像和容器,确实不太方便。于是考虑结合win11的powershell实现通过脚本一键部署。

环境准备

需要检查你的idea是否能安装PowerShell插件,因为是在idea中直接运行PowerShell脚本,如果版本不支持,则需要每次部署时到脚本位置手动执行脚本文件。

编写脚本

新建bulid.ps1文件

# idea启动powerShell时,是在C盘下,所以需要先切换到项目所在路径cd D:\work_space\xxx\xxxxx-hd# 项目打包mvn clean package# 切换到jar所在模块cd .\xxxx-admin\# 卸载之前的docker-compose# 此处docker-compose和docker compose等价# 可以用-p xxx指定项目名称,如docker-compose -p admin downdocker compose down# 删除admin容器 其实docker compose down已经将其对应的容器一并删除了,确保完整删除,建议加上docker container rm admin# 删除镜像 docker-compose创建的镜像需要手动删除docker image rm admin# 开始构建dock镜像docker-compose up -d --build# 输出结束表示(可选命令)echo "-----------end--------------"
执行脚本

**方式一:**文件上右键-> run…
直接执行脚本文件
方式二: services中run 或者 右上角快捷启动
Services运行
右上角快捷启动

idea启动PowerShell时,工作目录的问题

idea启动PowerShell时,工作目录是在C:\Users{USER}下,所以请注意脚本启动时切换工作目录
当然,idea提供了配置工作目录的方法:
在Edit Configuration…中,为PowerShell设置 Working directory值,如图
配置脚本启动目录
这种方式有缺陷:

需要使用方式一执行一次脚本后才会看到这个powerShell的选项(有可能是我的idea版本过低导致的)每次使用方式一执行后,上述方式的配置将会被还原,需要重新配置,需要使用方式二才能重复使用该配置 阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/gushi/2024-04-21/160844.html,文章来源:网络cs,作者:胡椒,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇:https证书配置(nginx)

下一篇:返回列表

文章评论