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

docker制作镜像

docker制作镜像

docker制作镜像有两种:

1.docker  build dockerfile  2.基于容器制作镜像

基于容器制作镜像

语法:docker  commit   options  容器名称

参数:

-a:作者

-c:修改dockfile创建的镜像

-m:提交信息

-p:在提交期间暂停容器

 例子:

1.想要基于那个容器创建镜像就先运行这个镜像
docker run  --name web01  -it  nginx
2.不要退出这个容器,另起一个终端
docker  commit  -p  基于那个容器制作镜像写呢个容器名称3.查看是否生成镜像
docker images4.运行新创建的镜像
docker run --name 容器名 -it  镜像名称注意:如果显示没有启动启动,可以使用docker start 容器名,重新启动一下

基于dockerfile创建镜像文件

一台主机可以有多个dockerfile,并且dockerfile中涉及的文件需要和当前dockerfile同等级。

docker build 是用于基于dockerfile制作镜像命令

参数:

-t:打标签(常用)

FROM指令:

dockerfile必须从FROM开始,为dockerfile的第一个指令,为镜像构建过程中指定基础镜像,后续指令在基础镜像所提供的环境运行。

 语法:
FROM         基础镜像名称:标签(指定版本号)

例子:

FROM        nginx:latest

MAINTAINER指令:

用于制作者提供自己的信息

例子:

MAINTAINER        "内容"

 COPY指令:

用于将本地的目录或者文件复制在新创建的镜像中

copy    源路径    目标路径

例子:

copy   index.html  /usr/share/nginx/html        (确保dockerfile同级目录下有index.html文件)

 使用docker build构建的时候

docker build  -t 新建镜像的标签(xxx:xxx) ./  (./是指在当前路径下构建,dockerfile也写在当前路径)

copy复制目录

copy复制目录的时候,不会自行复制目录名称,所以需要将目录的名称也写在copy的路径中

例子:

copy   dir1    /etc/dir1

 ADD指令:

类似copy指令,支持使用tar和url格式

 WORKDIR指令:

指定后面出现的目录的路径,后面的目录可以写为相对路径

workdir  路径

 VOLUME指令:

用于指定镜像文件的挂载点目录

volume  路径

 EXPOSE指令:

expose:暴露端口号

expose  80/tcp

 ENV指令:

指定dockfile中的环境变量,使用${变量}进行引用

 RUN指令:

指定构建的过程中运行的程序或命令

 CMD指令:

为启动的容器指定默认的程序,可以存在多个cmd,但是只有最后一个生效

http://www.lryc.cn/news/110650.html

相关文章:

  • 广西茶叶元宇宙 武隆以茶为媒 推动茶文旅产业融合发展
  • alibaba.excel库使用
  • 机器学习模型选择评估和超参数调优
  • 深入浅出 Typescript
  • Vue3和TypeScript项目-移动端兼容
  • 基于STM32CubeMX和keil采用通用定时器中断实现固定PWM可调PWM波输出分别实现LED闪烁与呼吸灯
  • mysql大表的深度分页慢sql案例(跳页分页)
  • 集中/本地转发、AC、AP
  • Spring集成Seata
  • 三种方式创建对象的几种方式及new实例化时做了什么?
  • vue2-vue实例挂载的过程
  • C++ 右值引用案例
  • 2.文件的逻辑结构
  • 20天学rust(一)和rust say hi
  • 牢记这16个SpringBoot 扩展接口,写出更加漂亮的代码
  • c++两种设计模式 单例和工厂模式
  • 2023-08-05——JVM 栈
  • Camera之PhysicalCameraSettingsList/SurfaceMap/CameraMetadata/RequestList的关系(三十二)
  • 【ONE·Linux || 基础IO(二)】
  • 【LeetCode 算法】Power of Heroes 英雄的力量
  • 合宙Air724UG LuatOS-Air script lib API--ntp
  • LangChain+ChatGLM大模型应用落地实践(一)
  • PSO粒子群优化算法
  • 记一次 .NET某医疗器械清洗系统 卡死分析
  • C# 基于Rijndael对文件进行加解密
  • Elasticsearchr入门
  • 【ARM】imx6ul移植kernel记录,恩智浦github提供的最新kernel(2023年7月31)
  • eeglab(自用)
  • Dockerfile构建Tomcat镜像(源码)
  • Frida Error: getPackageInfoNoCheck(): has more than one overload的解决方法