• docker操作常用命令


    1,帮助类命令
    docker version 查看软件版本(缩略信息:docker -v)
    docker info 运行时的信息
    docker help 查看帮助信息
    查询容器id:docker ps -a

    2,Docker镜像类命令

    docker images 查看本地镜像
    docker search 在仓库中搜索镜像
    从公共镜像仓库搜索镜像:https://hub.docker.com/search?q=nginx&type=image
    docker pull 从仓库中拉取镜像
    docker rmi 删除本地镜像

    例:docker images -a
    docker search tomcat
    docker search --limit 5 tomcat #显示前5条
    docker rmi hello-world --force
    docker rmi -f hello-world redis #同时删除多个镜像
    docker pull redis
    等同于:docker pull redis:latest

    ▶补充:docker镜像标识
    •镜像名
    •版本号 #不加版本号默认获取最新版本,即:latest.
    例:docker pull centos:7

    ★docker run 中的privileged参数
    使用该参数使得container内的root拥有真正的root权限。
    否则,container内的root只是外部的一个普通用户权限。
    privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
    甚至允许你在docker容器中启动docker容器。
    例:
    docker run -it --privileged centos:latest bash

    ------------------

    •子命令:docker image --help
    Usage: docker image COMMAND
    ※◆以下为新命令,取代之前的命令:
    docker image ls 列出镜像
    docker image build 构建镜像来自Dockerfile
    docker image history 查看镜像历史
    docker image inspect 显示一个或多个镜像详细信息
    docker image pull 从镜像仓库拉取镜像
    docker image push 推送一个镜像到镜像仓库
    docker image rm 移除一个或多个镜像
    docker image prune 移除未使用的镜像。没有被标记或被任何容器引用的。
    docker image tag 创建一个引用源镜像标记目标镜像
    docker image export 导出容器文件系统到tar归档文件
    docker image import 导入容器文件系统tar归档文件创建镜像
    docker image save 保存一个或多个镜像到一个tar归档文件
    docker image load 加载镜像来自tar归档或标准输入
    例:
    docker image history nginx
    docker image pull redis
    docker image rm redis #删除镜像
    导出镜像,供其它机器使用。
    docker image save redis > redis.tar
    导入镜像方法:docker image load < redis.tar

    ------------------

    3,Docker 容器类命令

    docker run 创建并启动容器
    docker ps 查询当前所有正在运行的容器

    exit 停止容器并退出
    ctrl + p +q 退出终端 不停止容器

    docker attach 连接到正在运行的容器
    docker start 启动容器
    docker restart 重启容器
    docker stop 停止容器(先关闭资源)并退出
    docker kill 强制退出容器(杀进程式)
    docker rm 删除已经停止的容器
    docker logs 查看日志
    docker cp 复制容器中的文件
    docker exec 执行容器中的命令
    docker inspect 获取容器/镜像的元数据。

    ●docker run:创建一个新容器并运行一个命令。
    docker run [options] IMAGE [COMMAND] [ARG...]
    OPTIONS说明:
    -d: 后台运行容器,并返回容器ID;
    -i: 以交互模式运行容器,通常与 -t 同时使用;
    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    --name="xxxxxx": 为容器指定一个名称;
    -P: 映射随机端口;
    -p: 映射指定端口

    例1:docker run -it -P tomcat #运行tomcat,-P从主机随机分配一个端口,映射到tomcat的默认端口8080.
                                                   #若此处不指定-P,则容器的80端口不会映射到宿主机,将只能通过容器的IP地址访问容器的tomcat服务器。

    •查看随机分配的端口:docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    d11ae2cf35a0 tomcat "catalina.sh run" 12 seconds ago Up 11 seconds 0.0.0.0:32768->8080/tcp zealous_kapitsa

    例2:docker run -it -p 8888:8080 tomcat #绑定固定的端口8888映射。
    docker run -it --name="mytom"-p 8888:8080 tomcat #--name 起名字

    例3:docker run -it --name  容器别名  镜像名


    ●docker ps:列出容器
    docker ps [OPTIONS]

    Options:
    -a, --all 显示所有容器,包括未运行的。
    -f, --filter filter 根据条件过滤显示的内容。
    --format string 指定返回值的模板文件。
    -n, --last int 显示最后创建的n个容器。
    -l, --latest 显示最近创建的容器。
    --no-trunc 不截断输出。
    -q, --quiet 静默模式,只显示容器编号。
    -s, --size 显示总的文件大小。

    ●docker attach:连接正在运行中的容器
    docker attach [OPTIONS] CONTAINER

    Attach local standard input, output, and error streams to a running container

    Options:
    --detach-keys string 重写用于分离容器的键序列
    --no-stdin 不要附加标准输入
    --sig-proxy 将所有接收到的信号代理给进程 (default true)
    例:docker attach 容器ID


    ●docker start:启动一个或多个已经被停止的容器。
    docker stop:停止一个运行中的容器。
    docker restart:重启容器

    例:docker start 容器ID
    删除所有容器方法: docker rm -f $(docker ps -aq) 


    ●docker logs:获取容器的日志。
    docker logs [OPTIONS] CONTAINER

    Options:
    --details Show extra details provided to logs
    -f, --follow 跟踪日志输出。
    --since string 显示某个开始时间的所有日志。
    --tail string 仅列出最新n条容器日志。
    -t, --timestamps 显示时间戳。
    --until string Show logs before a timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes)

    ●docker inspect:获取容器/镜像的元数据。
    docker inspect [OPTIONS] NAME|ID [NAME|ID...]

    Options:
    -f, --format string 指定返回值的模板文件。
    -s, --size 显示容器的文件大小。
    --type string 为指定类型返回JSON格式。


    ●docker exec:在运行的容器中执行命令。
    docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

    Options:
    -d, --detach 分离模式,在后台运行命令。
    --detach-keys string Override the key sequence for detaching a
    container
    -e, --env list Set environment variables
    -i, --interactive 即使没有附加,也保持标准输入打开。
    --privileged Give extended privileges to the command
    -t, --tty 分配一个伪终端。
    -u, --user string Username or UID (format:
    <name|uid>[:<group|gid>])
    -w, --workdir string Working directory inside the container

    例:docker exec -it 容器id bash

    ●docker cp:用于容器与主机之间的数据拷贝

    docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
    docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

    Options:
    -a, --archive Archive mode (copy all uid/gid information)
    -L, --follow-link 保持源目标中的链接。
    例docker cp 容器ID:/test.txt /

    ◆常用例

    例1:docker inspect 容器id
    其中:MergedDir为容器中文件系统的存放路径。

    "GraphDriver": {
    "Data": {
    "LowerDir": "/var/lib/docker/overlay2/703218d7b6280dce74d3213ba4a988a9168b18af6b2a781426155184cd95ea12-init/diff
    :/var/lib/docker/overlay2/759085ea664a164b1ddd41d3c5aa94ea8b0b16215754cb30505b72cb41608176/diff:/var/lib/docker/overlay2/38d8796
    c2f0a2b5f0a4cc8bf9b8179e78ed17df7bfb7f680cbc17e8bad8fbedf/diff:/var/lib/docker/overlay2/ed3d37662db2bd6cdb336b1a6a0fa28aaaac4dfe
    15f41adaf06c0648083a8faa/diff",
    "MergedDir": "/var/lib/docker/overlay2/703218d7b6280dce74d3213ba4a988a9168b18af6b2a781426155184cd95ea12/merged",
    "UpperDir": "/var/lib/docker/overlay2/703218d7b6280dce74d3213ba4a988a9168b18af6b2a781426155184cd95ea12/diff",
    "WorkDir": "/var/lib/docker/overlay2/703218d7b6280dce74d3213ba4a988a9168b18af6b2a781426155184cd95ea12/work"
    },
    "Name": "overlay2"
    }
    View Code

    执行:
    ls /var/lib/docker/overlay2/703218d7b6280dce74d3213ba4a988a9168b18af6b2a781426155184cd95ea12/merged
    显示:
    bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
    与在进入容器的bash命令行后,执行ls,显示的结果相同。

  • 相关阅读:
    环形链表II 找环入口
    最短无序连续子数组 复制数组排序后与原数组相比
    和为K的子数组 暴力 或 hash+前缀
    在排序数组中查找元素的第一个和最后一个位置 二分法+递归
    NodeJs 批量重命名文件,并保存到指定目录
    NodeJs 批量图片瘦身,重设尺寸和图片质量并保存到指定目录
    NodeJs 获取照片拍摄日期和视频拍摄日期,并按日期目录存档
    Oracle迁移记录
    Oracle数据库迁移前的准备工作(创建用户并且分配权限及表空间)
    Oracle 11g R2性能优化 10046 event【转载】
  • 原文地址:https://www.cnblogs.com/mountain2011/p/11198400.html
Copyright © 2020-2023  润新知