• Docker系列之Docker容器(读书笔记)


    一、介绍

      容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统和排在上面的应用。

    二、容器

      2.1 启动容器

      启动容器有两种方式,一种是基于镜像新建一个容器并启动,另一个是将终止状态的容器重新启动。

      新建并启动:所需命令主要为 docker run。例如下面启动后输出一个“Hello World”,之后终止容器。

    root@VM-0-15-ubuntu:~# docker run myimage /bin/echo 'Hello World!'
    Hello World!

    这跟本地直接执行/bin/echo 'hello world' 几乎感觉不到任何区别。

      下面的命令则启动一个bash终端,允许用户进行交互。其中 -t 选项让Docker分配一个伪终端并绑定到容器的标准输入上,-i  则让容器的标准输入保持打开。使用exit退出终端。

      当利用 docker run来创建容器时,Docker在后台允许的标准操作包括:

    1. 检查本地是否存在指定的镜像,不存在就从公有仓库下载
    2. 医用镜像创建并启动一个容器
    3. 分配一个文件系统,并在只读的镜像层外面挂在一层可读写层
    4. 从宿主主机配置的网络接口中桥接一个虚拟接口到容器中去
    5. 从地址池配置一个ip地址给容器
    6. 执行用户指定的应用程序
    7. 执行完毕后容器被终止

       启动已终止容器:docker start 命令,直接将一个已终止的容器启动运行。

       2.2 查看容器

    docker ps // 查看所有正在运行容器
    docker stop containerId // containerId 是容器的ID
    docker ps -a // 查看所有容器
    docker ps -a -q // 查看所有容器ID

      2.3 终止容器

    docker stop 加容器ID //终止容器
    docker stop $(docker ps -a -q) // stop停止所有容器

      2.4 守护态运行

      更多时候,需要让Docker容器在后台以守护态形式运行。此时,可以通过添加 -d 参数来实现。如

    root@VM-0-15-ubuntu:~# docker run -d myimage
    755c54ec56e25c19295b08a86aef8b2a1a65753d62b80b50dce65ca96b719403

    容器启动会返回一个唯一的id。

       2.5 进入容器

      在使用 -d 参数时,容器启动后会进入后台。某些时候需要进入容器进行操作,有很多种方法,包括使用 docker attach命令或 nsenter工具等。如:

    root@VM-0-15-ubuntu:~# docker run -idt myimage //根据镜像创建容器 
    65763bc0fb47a05fe98529b5187588080f659f579e4c6c3e8044aca5c215a06a
    root@VM-0-15-ubuntu:~# docker ps -a 
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
    65763bc0fb47        myimage             "/bin/bash"         42 seconds ago      Up 42 seconds                                   nostalgic_mccarthy
    755c54ec56e2        myimage             "/bin/bash"         6 minutes ago       Exited (0) 6 minutes ago                        kickass_engelbart
    5c05efb733f5        myimage             "/bin/bash"         20 minutes ago      Exited (0) 19 minutes ago                       sharp_varahamihira
    root@VM-0-15-ubuntu:~# docker attach nostalgic_mccarthy

      2.6 删除容器

      使用 docker rm 来删除一个处于终止状态的容器,如果删除运行中的容器,可以添加 -f 参数。

      docker rm $(docker ps -a -q) // remove删除所有容器。

  • 相关阅读:
    Flask路由系统
    Flask配置方式
    Flask应用启动流程
    Flask简介及使用
    python调用支付宝支付接口
    python调用腾讯云短信接口
    Celery简介以及Django中使用celery
    django中使用redis
    Redis之缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
    git操作
  • 原文地址:https://www.cnblogs.com/MicroHeart/p/9429202.html
Copyright © 2020-2023  润新知