• Docker学习总结(三)--常用命令


    镜像相关命令

    查看镜像

    docker images
    

    返回列表字段含义如下:

    字段名称 字段含义
    REPOSITORY 镜像名称
    TAG 镜像标签
    IMAGE ID 镜像 ID
    CREATED 镜像创建日期
    ZISE 镜像大小

    注:镜像文件都存储在宿主机的 /var/lib/docker 目录下

    搜索镜像

    从网络中搜索镜像:

    docker search 镜像名称
    

    返回列表字段含义如下:

    字段名称 字段含义
    NAME 镜像名称
    DESCRIPTION 镜像描述
    STARS 用户评价
    OFFICIAL 是否官方
    AUTOMATED 自动创建,表示该镜像由 Docker Hub 自动构建流程创建的

    拉取镜像

    docker pull 镜像名称
    

    例如:拉取 Centos7 镜像

    docker pull centos:7
    

    删除镜像

    按镜像 ID 删除:

    docker rmi 镜像ID
    

    按镜像名称删除:

    docker rmi 镜像名称
    

    删除所有镜像:

    docker rmi `docker images -q`
    

    按条件删除镜像:

    // 镜像名称包含关键字,tomcat 为关键字
    docker rmi --force `docker images | grep tomcat | awk '{print $3}'`    
    // 没有打标签
    docker rmi `docker images -q | awk '/^<none>/ { print $3 }'`
    

    容器相关命令

    查看容器

    查看正在运行的容器:

    docker ps
    

    查看所有容器:

    docker ps -a
    

    查看最后一次运行的容器:

    docker ps -l
    

    查看停止的容器:

    docker ps -f status=exited
    

    创建容器与启动容器

    创建容器命令:

    docker run
    

    常用参数说明:

    参数名称 参数含义
    -i 表示运行容器
    -t 表示容器启动后进入其命令行。-i -t 两个参数同时使用,表示容器创建后直接登录
    -name 为创建的容器命名
    -v 表示目录映射关系 (前者是宿主机目录,后者是映射到宿主机的目录)。可以使用多个 -v 做多个目录或文件映射。
    -d 表示创建一个守护式容器中后台运行。
    -p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。
    1. 交互式方式创建容器
    docker run -it -name=容器名称 镜像名称:标签 /bin/bash
    

    注:/bin/bash 的作用是因为 docker 后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash

    1. 守护式方式创建容器
    docker run -di --name=容器名称 镜像名称:标签
    

    登录守护式容器:

    docker exec -it 容器名称(或者容器id) /bin/bash
    
    1. 退出容器
    exit
    

    注意:交互式方式创建的容器,退出之后容器就关闭了。而守护式容器还可以正常运行。

    停止与启动容器

    停止容器:

    docker stop 容器名称(或者容器ID)
    

    启动容器:

    docker start 容器名称(或者容器ID)
    

    文件拷贝

    从宿主机拷贝到容器中:

    docker cp 需要拷贝的文件或目录 容器名称:容器目录
    

    从容器拷贝到宿主机中:

    docker cp 容器名称:容器目录 需要拷贝的文件或目录
    

    目录挂载

    将宿主机目录与容器目录进行映射,这样就可以通过修改宿主机的文件来影响容器:

    创建容器时添加:

    docker run -di -v 宿主机目录:容器目录
    

    例如:

    docker run -di -v /user/local/myhtml:/user/locar/myhtml --name=mycentos3 centos:7
    

    如果映射的是多级目录,可能会出现权限不足的提升。这是因为 CentOS7中的安全模块 selinux 把权限禁掉了,需要在执行命令的时候添加一个参数来解决这个问题:

    --privileged=true
    

    数据卷管理

    查看数据卷列表

    docker volume ls
    

    创建数据卷

    docker volume create 数据卷名
    

    删除数据卷

    docker volume rm 数据卷名
    

    清除没有挂载的数据卷

    docker volume prune
    

    查看数据卷详情

    docker volume inspect 数据卷名
    

    查看容器信息

    可以通过如下命令查看容器运行的各种信息:

    docker inspect 容器名称(容器ID)
    

    但是这样显示的信息太多了,我们可以只查看要关注的字段,例如,查看 IP 地址:

    docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(或容器ID)
    

    查看容器的进程,不加容器名即查看所有

    docker top 容器名
    

    查看容器的CPU,内存,IO 等使用信息

    docker stats 容器名
    

    查看容器日志

    docker logs 容器名
    

    删除容器

    删除指定的容器:

    docker rm 容器名称(或容器ID)
    

    删除所有容器:

    docker rm `docker ps -a -q`
    
  • 相关阅读:
    ASP.NET MVC 常用内置验证特性 简介
    为什么要有get方法?-多态内存分析的应用
    多态的内存分析-转载
    抽象类和接口
    多态
    通过序列化复制整个对象
    检查异常和非检查异常
    怎样抛出自己定义的异常
    try catch和throws怎么用?-结合使用
    两个对象整体内容的比较-重写对象的equals方法
  • 原文地址:https://www.cnblogs.com/markLogZhu/p/11425210.html
Copyright © 2020-2023  润新知