zoukankan      html  css  js  c++  java
  • 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 查看容器的一些详细信息;

  • 相关阅读:
    Image Perimeters(图像周长)
    Power Strings(字符串的n次方)
    滑雪
    剪花布条
    SOJ题目分类
    Catch That Cow(捉住那头牛)
    Seek the Name, Seek the Fame(找名字,要成名)
    Avoid The Lakes(躲开湖水区)
    hash相关理论
    JAVASCRIPT共通関数数値チェック
  • 原文地址:https://www.cnblogs.com/xmai/p/7754899.html
Copyright © 2011-2022 走看看