zoukankan      html  css  js  c++  java
  • Docker学习四:容器基本操作

    一、什么是容器

      容器是基于镜像创建的实例,可以单独存在,一个镜像可以创建多个容器。下图是是容器的组成:

    二、容器的生命周期

    容器的生命周期分为如下几种状态:

    1. created:初建状态
    2. running:运行状态
    3. stopped:停止状态
    4. paused: 暂停状态
    5. deleted:删除状态

    各个状态之间的转换关系如图所示:

    三、容器的基本操作

    1、创建并启动容器

    docker start命令启动已经创建好的容器
    #创建容器
    docker  create -it  --name=mybusybox busybox
    
    #启动创建的容器
    docker start mybusybox

    由上面操作步骤可知:docker create 基于镜像创建的容器处于停止状态,可以通过docker start命令启动

    docker run基于镜像直接创建并启动容器
    #运行容器
    docker run -it --name=mybusybox busybox
    docker运行容器执行的流程:
    • Docker 会检查本地是否存在 busybox 镜像,如果镜像不存在则从 Docker Hub 拉取 busybox 镜像;
    • 使用 busybox 镜像创建并启动一个容器;
    • 分配文件系统,并且在镜像只读层外创建一个读写层;
    • 从 Docker IP 池中分配一个 IP 给容器;
    • 执行用户的启动命令运行镜像。

    2、终止容器

    docker stop命令可以停止运行中的容器,停止后可以通过docker start命令启动;也可以通过docker restart命令重启正在运行中的容器

    3、进入容器

    docker attach 容器名称/容器ID

    注意点:当在多个终端同时用docker attach进入容器后,所有的终端都会同步显示相同的命令,如果其中某个终端的命令阻塞了,则所有的终端都无法操作

    docker excel方式进入容器
    docker exec -it busybox sh

    推荐使用这种方式进入容器,每个命令行会单独开启一个sh进程,互不影响。

    4、删除容器

    删除停止状态的容器:docker rm 容器名称/容器ID

    强制删除运行状态的容器:docker rm -f 容器名称/容器ID

    5、导出导入容器

    docker export 和docker import命令可以完成容器的迁移工作:

    #进入容器并创建test目录:
    docker exec -it fff sh
    cd /tmp && touch test
    
    #退出容器后,执行docker export命令
    docker export mybusybox > busybox.tar
    
    #通过docker import命令导入上一步生成的文件,生成新的镜像
    docker import busybox.tar busybox:test
    
    #通过docker run运行上一步生成的镜像
    docker run -it busybox:test sh
    
    #进入新运行的容器中,可以发现容器中包含第一步中创建的文件夹
  • 相关阅读:
    IP 地址无效化
    上升下降字符串
    STL-----map
    只出现一次的数字
    4的幂
    GDI+_入门教程【一】
    大白话系列之C#委托与事件讲解(二)
    大白话系列之C#委托与事件讲解(二)
    大白话系列之C#委托与事件讲解(一)
    大白话系列之C#委托与事件讲解(一)
  • 原文地址:https://www.cnblogs.com/canghai1024/p/13665084.html
Copyright © 2011-2022 走看看