• 操作docker容器


    创建容器

    ·1、新建容器

     docker create 新建一个容器:使用create创建的容器处于停止状态,可以使用docker start来启动它。create命令主要包括以下几大类:与容器运行模式有关,与容器和环境配置有关,与容器资源限制和安全保护相关

    2、启动容器

    docker start启动一个已经创建的容器

    3、新建并启动容器

    docker run =docker create+docker start

    当利用docker run来创建并运行启动容器时,Docker在后台运行的标准操作包括:

    (1)检查本地是否存在指定的镜像,不存在就从dockerhub下载

    (2)利用镜像创建一个容器,并启动改容器;

    (3)分配一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层;

    (4)从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中;

    (5)从网桥的地址池配置一个ip地址给容器

    (6)执行用户指定的应用程序

    (7)执行完毕后容器自动终止

    docker run -it  ubuntu:latest /bin/bash

    -i 让容器的标准输入保持打开

    -t让docker分配一个伪终端

     docker run执行时常见的错误代码包括:

    125:docker daemon执行错误,例如指定了不支持的docker命令参数

    126:所制定命令无法执行,如权限出错

    127:容器内命令无法找到

    4、守护态运行  -d的作用

    docker run -d ubuntu

    要获取容器的输出信息,可以使用docker logs命令

    终止容器

    docker stop: 首先向容器发送sigterm 信号,等待一段超时时间(默认10秒),再发送sigkill信号来终止容器

    docker kill:直接发送sigkill信号来终止容器

    进入容器

    如果使用-d参数时,如果想进入容器操作,用下面的方法:

    1.attach命令

    docker attach name

    使用attact命令有时候并不方便,当多个窗口同时用attach命令连接到同一个容器的时候,所有窗口都会同步显示,当某个窗口因命令阻塞时,其他窗口也就无法执行操作

    2、exec命令(推荐)

    在不影响容器内其他应用的前提下

    3、nsenter工具

    删除容器

    docker rm

    默认情况下,只能删除处于终止或退出状态的容器,并不能删除还处于运行状态的容器

    如果要直接删除一个运行中的容器,可以添加-f参数,Docker会先发送Sigkill信号给容器,终止其中的应用,之后强行删除

    导入和导出容器(迁移)

    1、导出容器

    导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态,都可以使用docker export, -o可以制定导出的tar文件名,也可以直接通过重定向来实现

    docker export -o test.tar [ID]
    docker export [ID] > test.tar

    2、导入容器

    docker import 

    -c可以在导入的同时执行对容器进行修改的Dockerfile

    docker save和export的区别:

    导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saveed-loaded)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚(可以执行docker tag <LAYER ID> <IMAGE NAME>来回滚之前的层)。

    vagrant@Ubuntu-13:~$ sudo docker images --tree
        ├─f502877df6a1 Virtual Size: 2.489 MB Tags: busybox-1-export:latest
        └─511136ea3c5a Virtual Size: 0 B
          └─bf747efa0e2f Virtual Size: 0 B
            └─48e5f45168b9 Virtual Size: 2.489 MB
              └─769b9341d937 Virtual Size: 2.489 MB
                └─227516d93162 Virtual Size: 2.489 MB Tags: busybox-1:latest

  • 相关阅读:
    C#和JAVA的RSA密钥、公钥转换
    JAVA RSA私钥 加密(签名) 对应 C# RSA私钥 加密(签名)
    Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明
    微信资料
    OAuth2.0实战之微信授权篇
    URL中出现了%E2%80%8E(Zero-Width Space)
    AntDesign vue学习笔记(六)Table 显示图片
    NPOI导出 The maximum column width for an individual cell is 255 characters
    AntDesign vue学习笔记(五)导航菜单动态加载
    AntDesign vue学习笔记(四)使用组件切换
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7287436.html
Copyright © 2020-2023  润新知