• docker-容器相关:运行、启动、停止、进入、导出和导入、删除


    运行交互式的容器

    我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
    执行命令:
    docker run -i -t ubuntu:15.10 /bin/bash
    输出:

    runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
    root@0123ce188bd8:/#
    
    • 1
    • 2

    各个参数解析:

    • -t: 在新容器内指定一个伪终端或终端。

    • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

    • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

    注意第二行 root@0123ce188bd8:/#,此时我们已进入一个 ubuntu15.10 系统的容器
    我们尝试在容器中运行命令 cat /proc/versionls分别查看当前系统的版本信息和当前目录下的文件列表
    在这里插入图片描述
    我们可以通过运行exit命令或者使用CTRL+D来退出容器。

    启动容器(后台模式)

    使用以下命令创建一个以进程方式运行的容器

    docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
    
    • 1

    参数解析:

    • -c 命令表示后面的参数将会作为字符串读入作为执行的命令

    在输出中,我们没有看到期望的 “hello world”,而是一串长字符

    f57b3fd0d420q38qaefhqw78f1233812189
    这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
    首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:
    dcoker ps
    在这里插入图片描述
    输出详情介绍:

    • CONTAINER ID: 容器 ID。
    • IMAGE: 使用的镜像。
    • COMMAND: 启动容器时运行的命令。
    • CREATED: 容器的创建时间。
    • STATUS: 容器状态。
    • 状态有7种:
      • created(已创建)
      • restarting(重启中)
      • running 或 Up(运行中)
      • removing(迁移中)
      • paused(暂停)
      • exited(停止)
      • dead(死亡)
    • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
    • NAMES: 自动分配的容器名称。
      在宿主主机内使用 docker logs 命令,查看容器内的标准输出:
      在这里插入图片描述

    停止容器

    我们使用docker stop命令来停止容器:
    在这里插入图片描述
    通过docker ps查看,容器已经停止工作:
    在这里插入图片描述
    可以看到容器已经不在了。

    进入容器

    在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

    • docker attach
    • docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。
    attach 命令

    下面演示了使用 docker attach 命令。
    docker attach 243c32535da7
    在这里插入图片描述
    注意: 如果从这个容器退出,会导致容器的停止。

    exec 命令

    下面演示了使用 docker exec 命令。
    docker exec -it 243c32535da7 /bin/bash
    在这里插入图片描述
    注意: 如果从这个容器退出,容器不会停止,这就是为什么推荐大家使用 docker exec 的原因。
    更多参数说明请使用 docker exec --help 命令查看。

    导出和导入容器

    导出容器

    如果要导出本地某个容器,可以使用docker export命令。
    $ docker export 1e560fca3906 > ubuntu.tar
    导出容器 575快照到本地文件 ubuntu.tar。
    在这里插入图片描述
    这样将导出容器快照到本地文件。

    导入容器快照

    可以使用docker import从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
    cat ubuntu.tar | docker import - test/ubuntu:v1
    在这里插入图片描述
    在这里插入图片描述
    此外,也可以通过指定 URL 或者某个目录来导入,例如:
    docker import http://example.com/exampleimage.tgz example/imagerepo

    删除容器

    删除容器使用 docker rm 命令:
    docker rm 575
    在这里插入图片描述
    下面的命令可以清理掉所有处于终止状态的容器,慎用!!!:
    $ docker container prune

  • 相关阅读:
    Eureka源码-Client启动入口(注册,续约,定时任务)
    3.4、可靠传输
    Codeforces Round #719 (Div. 3) E. Arranging The Sheep
    Linux上docker部署Mysql备份与恢复
    Spring简介说明
    第一章-处理器体系结构
    环境规制指数,两种测算方法,整理好的面板数据
    私有化部署 给数据安全加把“锁”!
    【信号处理】基于Matlab实现男女音变声系统
    【HDU No. 2586】 树上距离 How far away ?
  • 原文地址:https://blog.csdn.net/qq_37279783/article/details/126689649