当前位置: 首页 > news >正文

docker 数据卷、自定义镜像操作演示分享(第二期)

数据卷

1.1、背景

前面有个docker go web demo应用示例,每次为了部署go_web_demo工程, 需要将使用到的cp的命令将宿主主机内的go_web_demo目录下的代码文件(一般是编译后的二进制执行文件)复制到容器内部。 数据卷:将宿主主机的一个目录映射到容器的一个目录中。 可以在宿主主机中操作目录中的内容,那么容器内部映射的文件,也会跟着一起改变。

1.2、操作

创建数据卷

# 创建数据卷 docker volume create 数据卷名称 # 创建数据卷之后,默认回存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data

查看数据卷详细信息

docker volume inspect 数据卷名称

查看全部数据卷

docker volume ls

删除数据卷

docker volume rm 数据卷名称

1.3、应用

# 当你映射数据卷时,如果数据卷不存在,docker会自动创建。会将容器内部自带的文件,存储在默认的存放路径中 docker run -v 数据卷名称:容器内部的路径 镜像ID docker run -d -p 8080:8080 -v volume_tomcat:/usr/local/tomcat/webapps ef6a7c98d192 # 直接指定一个路径作为数据卷的存放位置。这个路径下是空的 docker run -v 路径:容器内部的路径 镜像ID docker run -d -p 8080:8080 -v /opt/volume:/usr/local/tomcat/webapps ef6a7c98d192

docker 自定义镜像

2.1、背景

中央仓库上的镜像,也是Docker的用户自己上传上去的

2.2、Dockerfile 文件介绍

#Dockerfile文件常用的内容 from:指定当前自定义镜像依赖的环境 copy:将相对路径下的内容复制到自定义镜像中 workdir:声明镜像的默认工作目录 cmd:需要执行的命令(在workdir下执行,cmd可以写多个,只以最后一个为准)

2.3、自定义镜像示例:docker go_web_demo 镜像

项目工程代码:go_web_demo

Dockerfile文件:

FROM golang:alpine AS builder # 为我们的镜像设置必要的环境变量 ENV GO111MODULE=on \ CGO_ENABLED=0 \ GOOS=linux \ GOARCH=amd64 # 移动到工作目录:/build WORKDIR /build # 将代码复制到容器中 COPY . . # 将我们的代码编译成二进制可执行文件 app RUN go build -o app . ################### # 接下来创建一个小镜像 ################### FROM scratch # 从builder镜像中把/dist/app 拷贝到当前目录 COPY --from=builder /build/app / # 需要运行的命令 ENTRYPOINT ["/app"]

制作镜像

1、在项目目录下,执行下面的命令创建镜像,并指定镜像名称为go_web_app

docker build -t 镜像名称:[tag] . docker build -t go_web_app .

2、运行镜像

docker run -d -p 8088:8088 镜像ID

http://www.dtcms.com/a/339064.html

相关文章:

  • 【数据结构】堆和二叉树详解(下)
  • SpringAI——向量存储(vector store)
  • SpringClound——网关、服务保护和分布式事务
  • Redis-缓存-击穿-分布式锁
  • 使用ros2跑mid360的fastlio2算法详细教程
  • 【数据结构】用堆解决TOPK问题
  • 算法训练营day56 图论⑥ 108. 109.冗余连接系列
  • C++---为什么迭代器常用auto类型?
  • 强、软、弱、虚引用
  • 在 Qt C++ 中利用 OpenCV 实现视频处理技术详解
  • 尝试Claude Code的安装
  • 学习笔记分享——基于STM32的平衡车项目
  • Mac调试ios的safari浏览器打开的页面
  • 电子电气架构 --- 软件项目成本估算
  • 技术攻坚全链铸盾 锁定12月济南第26届食品农产品安全高峰论坛
  • 任务十二 我的页面及添加歌曲功能开发
  • Typescript入门-对象讲解
  • Python量化交易:结合爬虫与TA-Lib技术指标分析
  • Matplotlib数据可视化实战:Matplotlib子图布局与管理入门
  • Ansible 角色管理指南
  • Pandas数据处理与分析实战:Pandas数据处理与Matplotlib可视化入门
  • 0819 使用IP多路复用实现TCP并发服务器
  • Tomcat 的核心脚本catalina.sh 和 startup.sh的关系
  • 陪诊小程序系统开发:开启智慧就医新时代
  • CNN 在故障诊断中的应用:原理、案例与优势
  • BEV:隐式相机视角转换-----BEVFormer
  • 简单实现监听redis的Key过期事件
  • Shopee本土店账号安全运营:规避封禁风险的多维策略
  • 微服务-08.微服务拆分-拆分商品服务
  • 什么是强化学习