首页 > 其他分享 >构建Docker镜像

构建Docker镜像

时间:2022-11-26 12:57:15浏览次数:45  
标签:nginx 构建 镜像 Docker Dockerfile docker

作用 

根据需求构建镜像,推送到harbor私有仓库保存与管理,如有相同构件组需求,可直接下载,减少重复劳动,有利于镜像级高层次复用。

一、Docker镜像构建过程

1、生成Dockerfile,示例如下

From nginx
run echo test docker file>/usr/share/nginx/html/test.html #在nginx基础上,增加测试文件。

 

2、构建image,默认为当前文件夹的Dockerfile或-f 参数指定

docker build -t mynginx:v1 .

 镜像构建过程

3、检查本地镜像

Docker images

 

4、chrome测试

检查构建历史

docker history dockerid

  

 

 

二、构建Dockerfile常用命令

  • ARG,传入dockerfile的参数
  • RUN, 构建镜像的组成命令,构建时执行
  • CMD, 只有最后一个生效,RUN容器时执行

      

  • LABEL, 元信息,如作者,版本,通过docker inspect查看LABEL   

      

 

  • EXPOSE 显露端口
  • ENV 环境变量  

传入方式,-env或-e

    

 

  • ADD 拷贝并TAR解压文件 
  • COPY 仅拷贝
  • ENTRYPOINT和CMD一样,最后一条ENTRYPOINT指令生效
  • VOLUME, 挂载到特定目录
  • WORKDIR 工作目录

总结

总体来说,镜像的构建操作相对来说比较简便,类似于Window的批处理文件,但注意命令数据尽量减少,以减少镜像的层次。

标签:nginx,构建,镜像,Docker,Dockerfile,docker
From: https://www.cnblogs.com/heho/p/16924935.html

相关文章

  • 搭建docker私有仓库harbor
    一、前提1.Harbor基于docker和docker-compose.首先确认计算机是否已安装Docker-compose下载,参考https://blog.csdn.net/LPClan/article/details/1211300832. 开启内核......
  • Docker搭建Redis高可用集群(基于redis-sentinel)
    一主二从wgethttp://download.redis.io/redis-stable/redis.conf#主库dockerrun--nameredis-master-d-p6300:6300-v/D/Workspace/Docker/docker-install-redis-cl......
  • docker安装neo4j
    docker安装neo4jdockerpullneo4j:3.5.35-community dockerrun-id--namec_neo4j-p7474:7474-p7687:7687-v/home/neo4j/data:/data-v/home/neo4j/logs:/lo......
  • k8s与Docker-九五小庞
    随着k8s作为容器编排解决方案变得越来越流行,有些人开始拿Docker和k8s进行对比,不禁问道:Docker不香吗?k8s是kubernets的缩写,’8‘代表中间的八个字符。其实Docker和......
  • D107设计模式_1构建模式20221119
     一、构建模式构建模式属于对象的创建模式,可以把对象的内部属性和构建方法分离开来,可以构建自己需要的属性。当有些对象比较复杂的时候,需要的属性比较灵活的就需要用到......
  • Docker简单使用总结
    写在前面最近在部署前后端分离的SpringBoot项目,发现使用Docker技术很方便,特此记录一下Docker常用命令1、常用网站Dockerdocs:https://docs.docker.com/官方文档Do......
  • 使用Redis构建支持程序
    使用Redis构建支持程序构建的不是应用程序,而是记录应用程序信息、记录访客信息、为应用程序提供配置信息等手段来帮助和支持应用程序。使用Redis记录日志如何用Redis存......
  • centos下docker安装使用
      官网地址,安装说明:https://docs.docker.com/engine/install/centos/如安装过旧的版本,需要把之前的移除,执行命令sudoyumremovedocker\......
  • Docker
      ......
  • 基于Docker的Golang开发
    一、Docker用于开发Docker不仅用于部署,它还可以用于开发。1、为什么要在开发中使用Docker主要有以下几个原因。1)一致的开发环境使用Docker,可以保证整个研发团队使用一致的开......