Dockerfile脚本编写流程及示例

学习dockerfile指令

Dockerfile 指令

说明

FROM

指定基础镜像

MAINTAINER

声明镜像的维护者

LABEL

添加元数据标签

RUN

在容器中执行命令

CMD

容器启动后默认执行的命令

EXPOSE

暴露容器的端口

ENV

设置环境变量

ADD

将文件、目录或远程文件添加到容器中

COPY

将文件或目录复制到容器中

ENTRYPOINT

容器启动时要执行的命令

VOLUME

创建挂载点,用于持久化存储

USER

指定运行容器的用户名或 UID

WORKDIR

设置工作目录

ARG

定义构建参数,可在构建过程中传递给镜像

ONBUILD

在下一级镜像中执行指定的命令

STOPSIGNAL

设置停止容器时发送的信号

HEALTHCHECK

检查容器健康状态的指令

SHELL

设置用于执行 RUN 指令的默认 shell

COPY --chown

复制文件并设置所有者和组

ADD --chown

添加文件并设置所有者和组

也可参考下方:

https://www.jianshu.com/p/4508784f6ddc

编写dockerfile脚本

# v1.0.0
# sudo apt-get update
# sudo apt  install docker.io

# 基础镜像 不写latest默认就是latest
# FROM scratch:表示使用一个空镜像
FROM ubuntu:latest

# 镜像的信息定义,此处的key=value 均是根据实际情况定义
LABEL maintainer="chiyuba@qq.com"  version="0.0.1" description="这是一个带有python的测试镜像"

# 镜像操作命令
# RUN sudo apt-get update \ 
#     && apt-get install vim -y \
#     && sudo apt-get install python3 \
#     && sudo apt-get install python3-pip

RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    vim \
    python3 \
    python3-pip

# 将test文件复制到home下 test.py表示和dockerfile文件同级目录
COPY test.py /home/


CMD ["python3", "--version"]


# 为容器指定开放端口  EXPOSE 2379/tcp 默认TCP协议,tcp/udp/http/https
EXPOSE 9999

安装docker

sudo apt  install docker.io

执行dockerfile脚本,并生成镜像

sudo docker build -t test_img .

查询镜像

sudo docker images

运行镜像

sudo docker run test_img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/215160.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

以用户为中心的前端性能

1. 简介 前端性能跟用户体验息息相关。举个栗子,当你打开乘车码扫码进站,网页白屏了很久才加载出来,延误了乘车时间;当你在微信抢红包时,点击按钮后延迟了一会才开始转圈圈,最终没抢到红包。当出现这样的情…

医疗器械设备模组的具体应用

直线模组是一种高精度、高速度的精密传动元件,目前被广泛应用在各种工业自动化领域;尤其是在激光加工、电子制造、医疗设备、物流设备和机器人等行业中,都发挥着重要作用,接下来我们看看医疗器械设备模组的具体应用吧!…

echarts笔记-GeoJSON河北数据下并裁剪为冀北地图并使用echarts加载

首先找个网站把河北的GeoJSON数据下载下来,我用的是这个,理论上任意一个都可以 DataV.GeoAtlas地理小工具系列 将json数据下载后,进行裁剪,仅保留冀北数据。 如下,我裁剪的数据: {"type": &qu…

【备忘干货】c/c++ (wasm)和js互相调用记录

c/c(wasm)和js互相调用记录 废话 :)准备工作:安装Emscripten初探:C(wasm)之hello world进一步探究:接口调用1.js调用c,一些基本类型的传递(char*,int,float)以…

企业安全生产管理系统功能介绍

安全生产管理系统通过借助信息化手段和技术算法,建立了一个集安全风险监测预警、安全分区管理、隐患排查治理、特殊作业、人员定位管控于一体的“一张图”平台。平台可以实现企业安全生产管控的全面监管,推动公司生产安全业务的动态管理、集中管理和协同…

014 OpenCV canny边缘检测

一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、canny原理 OpenCV中的Canny边缘检测算法是一种基于图像处理的计算机视觉技术,主要用于检测图像中的边缘。Canny边缘检测算法的原理是通过计算图像中像素点之间的梯度值来…

GPT4-Turbo技术原理研发现状及未来应用潜力分析报告

今天分享的是GPT4-Turb系列深度研究报告:《GPT4-Turbo技术原理研发现状及未来应用潜力分析报告》。 (报告出品方:深度行业分析研究) 报告共计:46页 图像理解能力提升:三大视觉学习方法  为打造视觉大模…

53.redis分布式缓存

目录 一、单机安装Redis。 二、Redis主从集群。 2.1.集群结构 2.2.准备实例和配置 2.3.启动 2.4.开启主从关系 2.5.测试 三、搭建哨兵集群。 3.1.集群结构 3.2.准备实例和配置 3.3.启动 3.4.测试 四、搭建分片集群。 4.1.集群结构 4.2.准备实例和配置 4.3.启动…

网络层之SDN基本概念、路由算法和路由协议

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

淘宝API接口申请指南

一、申请条件数据接口 已注册淘宝账号并完成实名认证;拥有良好的淘宝信用记录;符合淘宝API接口的相关规定。 二、申请流程 登录淘宝账号,进入“卖家中心”页面;点击“我要开店”-“申请应用”,选择“淘宝API”&…

LangChain(0.0.340)官方文档五:Model

LangChain官网、LangChain官方文档 、langchain Github、langchain API文档、llm-universe 文章目录 一、Chat models1.1 Chat models简介1.2 Chat models的调用方式1.2.1 环境配置1.2.2 使用LCEL方式调用Chat models1.2.3 使用内置Chain调用Chat models 1.3 缓存1.3.1 内存缓存…

【Linux】:线程(一)概念

线程概念 一.线程1.简单理解2.一些疑问3.简单说一下优缺点,异常和用途 二.进程VS线程1.进程和线程的联系和区别2.phread线程库(创建)3.线程的LWP4.线程等待5.线程终止 三.C11里的线程四.创建线程最底层接口 一般教程里定义线程:是进程内的一个执行分支。…

PicoScope 7 软件报警功能可实现自动保存和循环捕捉

最近很多用户提到,怎么让虹科Pico示波器采集信号到缓冲区满了之后自动保存在电脑里,然后清出缓存空间继续采集,如此循环工作。这里不得不向大家介绍一下PicoScope软件的强大功能之一:报警功能! 报警在软件的工具菜单下…

盘点最近两个世纪那些搞怪又精彩的专利

人类的创新是无止境的,下面收集的就是最近两个世纪全球那些奇怪搞笑、精彩的6项专利。 小胡子卫士 (1876) 这款“胡须防护罩”由 VA.Gates 于 1876 年获得专利,是在节日盛宴期间保护胡须的巧妙解决方案。“弯曲和凹形的护罩,可以由硫化橡胶、…

visual c++ 2019 redistributable package

直接安装下面包只有24M Microsoft Visual C Redistributable 2019 x86: https://aka.ms/vs/16/release/VC_redist.x86.exe x64: https://aka.ms/vs/16/release/VC_redist.x64.exe ———————————————— 版权声明:本文为CSDN博主「kpacnB_Z」的原创文章…

堆排序(C语言)

前言 在上一篇内容:大小堆的实现(C语言),我们实现了关于创建大小堆的各函数与实现。但是如果突然要使用一个堆排序但是此时并没有一个现成的堆,这就需要花费时间去新建实现堆的插入删除这些操作从而实现一个堆&#xf…

Oracle-CDB容器数据库修改service_names踩坑

前言: 最近在对一套Oracle容器数据库进行迁移测试时,为了保持新环境与旧环境的服务名一致,需要在新环境添加旧环境的服务名,在CDB的根容器通过service_name参数添加旧环境的服务名之后,发现数据库PDB的服务名全部被注销&#xff0…

今日思考 -- 创新领导力(CIO)读后感

收获3个观点: 1 ,IT DT 商业,才是未来IT人的出路之一 ! 2 ,在CXO中,CIO像CEO一样,具备了整个企业的业务全视角 ,同时也更具解决 ‘’系统性‘’问题的能力 ! 3 &…

go并发编程(中)

目录 一、并发安全性 1.1 变量并发安全性 1.2 容器并发安全性 二、多路复用 三、协程常见的面试题 3.1交替打印奇数偶数 一、并发安全性 1.1 变量并发安全性 这个和C中并发安全是一样的,主要是多个线程对临界资源的同时访问,最经典的就是 n操作…

网络层之IP数据报格式、数据报分片、IPv4、子网划分和子网掩码

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…
最新文章