Docker:镜像构建与进入容器总结
构建镜像总结
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:镜像构建与进入容器总结的更多相关文章
- Docker镜像构建(五)
Docker 镜像介绍 Docker镜像构建分为两种,一种是手动构建,另一种是Dockerfile(自动构建) 手动构建docker镜像 案例:我们基于centos镜像进行构建,制作自己的nginx镜 ...
- 4、Docker 镜像构建
Docker 镜像构建 构建分为两种 手动构建 自动构建dockerfile 手动构建 首先启动一个Centos 容器,然后在容器中安装一个nginx [root@node ~]# docker ru ...
- Docker镜像构建原理解析(不装docker也能构建镜像)
在devops流程里面 构建镜像是一个非常重要的过程,一般构建镜像是写dockerfile文件然后通过docker client来构建的image. docker client 会先检查本地有没有im ...
- asp.net core webapi 使用ef 对mysql进行增删改查,并生成Docker镜像构建容器运行
1.构建运行mysql容器,添加数据库user 参考Docker创建运行多个mysql容器,地址 http://www.cnblogs.com/heyangyi/p/9288402.html 添加us ...
- Docker镜像构建的两种方式
关于Docker里面的几个主要概念 这里用个不太恰当的比方来说明. 大家肯定安装过ghost系统,镜像就像是ghost文件,容器就像是ghost系统.你可以拿别人的ghost文件安装系统(使用镜像运行 ...
- Docker镜像构建的两种方式(六)--技术流ken
镜像构建介绍 在什么情况下我们需要自己构建镜像那? (1)当我们找不到现有的镜像,比如自己开发的应用程序 (2)需要在镜像中加入特定的功能 docker构建镜像有两种方式:docker commit命 ...
- Docker镜像构建
一.简介 在构建容器化应用时,相当重要的步骤莫过于镜像制作,本文将介绍镜像制作方法以及镜像制作的建议.通常镜像的制作有两种方式: 使用现有的容器使用docker commit 生成镜像 使用Docke ...
- sqler sql 转rest api 的docker 镜像构建(续)使用源码编译
sqler 在社区的响应还是很不错的,已经添加了好多数据库的连接,就在早上项目的包管理还没有写明确, 下午就已经有go mod 构建的支持了,同时也调整下docker 镜像的构建,直接使用git cl ...
- Docker镜像构建文件Dockerfile及相关命令介绍
使用docker build命令或使用Docker Hub的自动构建功能构建Docker镜像时,都需要一个Dockerfile文件.Dockerfile文件是一个由一系列构建指令组成的文本文件,doc ...
随机推荐
- 一次xxoo提权
数据库root权限.然并卵. 看了一下phpinfo得知是mysql 5.0 的 然后想要通过udf之类的提权一波,结果一执行sql语句就被狗拦截了. 然而数据库这条路是GG了 OS 名称: Micr ...
- 交换上的FLAPPING事件 (zhuan)
今天在学校的一个三层交换上看到持续的日志信息: Host 00:E0:FC:09:BC:F9is flapping between fa0/x and fa0/y. 思科对此官方的解释是: Error ...
- Deseq2 的可视化策略汇总
1) MA图 对于MA图而言, 横坐标为该基因在所有样本中的均值,basemean = (basemean_A + basemean_B ) / 2, 纵坐标为 log2Fold change 其 ...
- swoole推送信息一对一,一对多
服务端 $ws->on('message', function ($ws, $frame) { //echo "接收到的信息: {$frame->data}\n"; / ...
- Linux下 编译lib3ds库
从网上下载的一个QT程序链接需要用到lib3ds.a静态库. lib3ds is an overall software library for managing 3D-Studio Release ...
- sql脚本练习
多写sql语句,才能对数据库操作更加熟练. create database springbootdemo; use springbootdemo; create table user; // 这个脚本 ...
- react 使用 lazyload 懒加载图片
文档地址 index.html <script> (function(w, d) { var b = d.getElementsByTagName("body")[0] ...
- StreamSocket
转载自:http://blog.csdn.net/yuanguozhengjust/article/details/19175085 StreamSocket的基本流程和一般的Socket通信操作类似 ...
- IsWindowVisible
IsWindowVisible通过该函数可以获得指定窗口的可视状态,即显示或者隐藏. BOOL IsWindowVisible( HWND hWnd ); hWnd:被测试窗口的句柄. 返回值:如果指 ...
- elk-插件(head、X-pack)(五)
一.修改ES配置,允许REST跨源操作ES服务器,添加以下2个配置,并重启ES. http.cors.enabled: true #如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST ...