zoukankan      html  css  js  c++  java
  • docker基本使用

    前言: docker的管理分为两部分, 一部分是镜像的管理, 一部分是容器的管理.

    从docker官网pull下来的称为镜像, 镜像运行后会产生容器

    在执行查看命令时可加入 --no-trunc参数来显式完整信息.

    镜像的管理(命令: docker images)

    1. 拉取一个镜像

      docker pull  centos  -- 拉取centos镜像到本地

    2. 查询本地所有镜像

      docker images ls     -- 查看所有镜像

      docker images -q       -- 只显式镜像id

      docker inspect id     -- 查看指定id的镜像详细信息

    3. 删除镜像

      docker images rm id   -- 删除指定id的镜像

      docker images rm `docker immages -q`  --删除所有镜像

    4. 导入导出镜像

      docker images save name > /home/xx.tar  -- 导出name镜像为压缩包

      docker images load -i /home/xx.tar     -- 导入压缩包为一个镜像

    5. 给没有tar的镜像打tar

      docker images -tar name:xx id       --给指定id的镜像打标签, name为镜像的新名称, xx是标签. 如果镜像已有tar, 则会生成一个新镜像.

    启动一个镜像(两种方式)

    1. docker container run -it --name "xx" centos    -- -it为交互式启动centos镜像(启动后会自动进入), --name为给容器设置的名字, 不指定会随机生成一个.

      交互式启动的容器, 会在退出后自动销毁掉. 多用于测试,开发环境

      docker container run -it --name "xx" --rm centos  -- 多加入了--rm参数, 作用是当退出该交互式容器后, 该容器会自动销毁并自动删除, 不留痕迹

    2. docker container run -d --name "xx" centos    --  以守护方式运行一个容器. container可省略.

      守护式启动的多用于服务类的容器. 启动后默认只能宿主机访问该容器, 其它平台无法访问.

      docker container run -d --name "xx" -p 8080:80 centos  --添加-p参数, 用于指定宿主机端口和容器端口的映射.

    3. docker container run --restart=always -d --name.........           -- restart=always参数作用, 重启docker后能自动拉起使用该参数启动的容器(默认重启后之前运行的所有容器都挂了)

        方式二: 修改docker配置文件, 添加  "live-restore": true

    容器的管理(docker container, container可省略)

    1. 查看一个容器的详细信息:

      docker container inspect name

    2. 查看容器

      docker container ls -a    -- 查看所有运行过的容器, 含已销毁的容器, 等价于docker ps -a, 早期的用法

      docker container ls     -- 查看正在运行中的容器.

      docker container ls -a -q   --只查看所有容器的id.

    3. 删除销毁的容器

      docker container rm name

            docker rm $(docker ps -q -f status=exited)    --删除所有已退出的容器

    4. 重新启动一个销毁的容器

      docker container start -i id    -- -i表示启动后进入该容器

    5. 关闭一个运行中的容器

      docker container stop id

    6. 连接一个运行中的容器

      docker container attach name    --此种方式只能连接一个, 连接多个时会同步操作

      (可理解为连入原来的bash窗口, 断开了就是彻底断开了)

      docker container exec -it name /bin/bash  -- 已子进程方式连接到一个容器, 后边的.bin/bash必不可少

      (可理解为以新bash窗口连接, 断开了一个不影响其它的.)

    7. 查看容器中运行的进程信息

      docker container top id    -- 查看id对应容器的进程信息.

      docker container logs id    -- 查看id对应容器的日志信息

      docker container logs -f id    -- 一直监控日志, 等同于linux中的tail -f命令

      docker container logs -tf --tail 10   t表示显式时间戳, --tail可指定查看多少条(倒数)

     8. 所主机与容器之间的文件拷贝

      docker container cp 拷贝谁 到哪里    --涉及到容器时要注意格式: name:路径; 如 ....cp name:/data/file ./file

  • 相关阅读:
    MapReduce —— MapTask阶段源码分析(Output环节)
    MapReduce——移动数据不如移动计算
    MapReduce —— MapTask阶段源码分析(Input环节)
    MapReduce——客户端提交任务源码分析
    NameNode和SecondaryNameNode角色功能分析
    线程的实现原理
    RTFSC:SpringBoot 源码惊鸿一瞥
    垃圾收集器学习笔记
    常见的六种OOM异常和错误
    简单类型多线程加锁
  • 原文地址:https://www.cnblogs.com/quzq/p/13406382.html
Copyright © 2011-2022 走看看