构建镜像总结

docker构建镜像有两种方法:

1、使用docker commit + 容器

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

-a, --author="" Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-m, --message="" Commit message
-p, --pause=true Pause container during commit

例如:

docker pull 某某镜像;//先下载某某基础镜像

docker run --name mycontainer -d 某某镜像 //跑起来一个容器

docker exec mycontainer /bin/bash //进入镜像

apt-get update

apt-get install xxx //做一些安装修改

exit //退出镜像

docker commit mycontainer myimages/testimage:v1 //从容器创建一个自己的镜像,打上tag

docker save --output testimage_v1.tar testimage:v1 //把镜像保存成tar包到本地

2、使用docker build +Dockerfile文件

docker build [OPTIONS] PATH | URL

--force-rm=false 不管构建成功失败都删除产生的中间容器
--no-cache=false 构建镜像的时候不使用缓存
-q,--quiet=false 禁止容器生成输出
--rm=true 构建成功时候删除中间容器
-t,--tag="" 给镜像打tag

上面的Path中 用 . 表示当前路径

例如:在当前路径构建一个镜像

docker build -t mytestimage:v1 .

进入容器总结

1、使用docker exec -it 容器名  /bin/bash

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

-d  [command]: 后台运行一个Linux命令;如:docker exec -d  容器01 touch /temp/mytext ;这个命令在容器01里面创建一个文件

-e [varname=value] 设置一个环境变量;如:docker exec -e  var1=1 容器01 bash ;会在当前会话创建一个var1的环境变量,只在当前会话有效

-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端;如:docker exec -ti 容器01 /bin/bash ;命令会保持一个连接容器的终端;

这种方法在前文测试时候经常见到过

2、使用docker attach 容器名

docker attach 容器名

这个模式进入容器后,当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。

docker inspect 查看容器的一些详细信息;

Docker:镜像构建与进入容器总结的更多相关文章

  1. Docker镜像构建(五)

    Docker 镜像介绍 Docker镜像构建分为两种,一种是手动构建,另一种是Dockerfile(自动构建) 手动构建docker镜像 案例:我们基于centos镜像进行构建,制作自己的nginx镜 ...

  2. 4、Docker 镜像构建

    Docker 镜像构建 构建分为两种 手动构建 自动构建dockerfile 手动构建 首先启动一个Centos 容器,然后在容器中安装一个nginx [root@node ~]# docker ru ...

  3. Docker镜像构建原理解析(不装docker也能构建镜像)

    在devops流程里面 构建镜像是一个非常重要的过程,一般构建镜像是写dockerfile文件然后通过docker client来构建的image. docker client 会先检查本地有没有im ...

  4. asp.net core webapi 使用ef 对mysql进行增删改查,并生成Docker镜像构建容器运行

    1.构建运行mysql容器,添加数据库user 参考Docker创建运行多个mysql容器,地址 http://www.cnblogs.com/heyangyi/p/9288402.html 添加us ...

  5. Docker镜像构建的两种方式

    关于Docker里面的几个主要概念 这里用个不太恰当的比方来说明. 大家肯定安装过ghost系统,镜像就像是ghost文件,容器就像是ghost系统.你可以拿别人的ghost文件安装系统(使用镜像运行 ...

  6. Docker镜像构建的两种方式(六)--技术流ken

    镜像构建介绍 在什么情况下我们需要自己构建镜像那? (1)当我们找不到现有的镜像,比如自己开发的应用程序 (2)需要在镜像中加入特定的功能 docker构建镜像有两种方式:docker commit命 ...

  7. Docker镜像构建

    一.简介 在构建容器化应用时,相当重要的步骤莫过于镜像制作,本文将介绍镜像制作方法以及镜像制作的建议.通常镜像的制作有两种方式: 使用现有的容器使用docker commit 生成镜像 使用Docke ...

  8. sqler sql 转rest api 的docker 镜像构建(续)使用源码编译

    sqler 在社区的响应还是很不错的,已经添加了好多数据库的连接,就在早上项目的包管理还没有写明确, 下午就已经有go mod 构建的支持了,同时也调整下docker 镜像的构建,直接使用git cl ...

  9. Docker镜像构建文件Dockerfile及相关命令介绍

    使用docker build命令或使用Docker Hub的自动构建功能构建Docker镜像时,都需要一个Dockerfile文件.Dockerfile文件是一个由一系列构建指令组成的文本文件,doc ...

随机推荐

  1. 聊聊IOCP,聊聊异步编程

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

  2. Spring Security的几个重要词

    1.SecurityContextHolder:是安全上下文容器,可以在此得知操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保存在SecurityContextHolder中. O ...

  3. u3d内嵌H5游戏 设置cookie

    Intent intent1 = getIntent(); Log.d("SS", "onCreate: "); String data = intent1.g ...

  4. page load时执行JavaScript

    // Multiple onload function created by: Simon Willison // http://simonwillison.net/2004/May/26/addLo ...

  5. MXPlayer ac3音轨支持问题

    下载的MXPlayer 在播放kvm视频的时候没有声音, 说是不支持ac3的音频 到官网下载单独的解码包: https://mxplayerdownloads.com/mx-player-ac3-dt ...

  6. ActiveQt框架 禁止弹出ActiveX控件交互提示

    重点重写QAxBindable的createAggregate() 参考Qt例子: qtactiveqt\activeqt\opengl\glbox.cpp

  7. vue使用mockjs配置步骤(无需启动node服务)

    1.安装好mockjs命令行 npm install mockjs 2.在项目中引用mockjs [ 重要 ] ##在项目src目录下新建一个mock文件夹 ##在mock文件夹下新建 index.j ...

  8. c# 正则

    Regex reg = new Regex("^do(es)(xy)?$"); var result = reg.Match("doesxy"); foreac ...

  9. Windows下JDK多版本切换

    根据需要,我们可以在一台电脑上安装多个不同的JDK版本,在使用的过程中,可能需要进行版本质检的切换.下面简单说明在切换过程中需要注意的问题.(个人本机是部署了1.8和1.7版本的,安装目录均在C:\P ...

  10. Qt编写自定义控件属性设计器

    以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用场景需 ...