• docker常用命令


     

    帮助命令

    docker version

    docker info

    docker --help

    镜像命令

    #列出本地镜像
    docker images [OPTIONS]

    -a:列出本地所有的镜像(包含中间映像层)
    -q:只显示镜像id
    --digests:显示镜像的摘要信息
    --no-trunc:显示完整的镜像信息

    #去dockerHub(https://hub.docker.com/)搜索镜像
    docker search [OPTIONS] {imageName}

    #拉取镜像 

    docker pull {imageName}:{tag}

    #删除一个镜像

    docker rmi -f {imageName}

    #删除多个镜像

    docker rmi -f {imageName1} {imageName2}

    #删除全部镜像

    docker rmi -f $(docker images -qa)

    docker build -f {dockerFilePath} -t {newImageName}:{tag}

    docker commit -m="Comment" -a="autherName" {containerId} {namespace}/{targetImageName}:{tag}

    docker push

    #查看镜像历史

     docker history {imageName}

    容器命令

    #新建并启动容器
    docker run [OPTIONS] {imageName或imageId} [COMMAND] [ARG...]

    --name:别名

    --i:以交互模式运行容器,通常与-t同时使用

    --t:为容器重新分配一个伪输入终端,通常与-i同时使用

    -d:后台运行容器,并返回容器id

    -P:随机端口映射

    -p:指定端口映射

    docker run --it  -p {主机端口}:{容器端口} {imageName或imageId}

    启动docker中的tomcat后,访问报错404,原因是tomcat中默认的webapps目录是空的,所需文件在webapps.dist目录下,需要重命名目录

    #创建容器卷

    docker run -it -v {localVolunmeDirectory}:{containerVolunmeDirectory} {imageName}

    #创建只读的容器卷(只有宿主机能正常读写,容器只能读)

    docker run -it -v {localVolunmeDirectory}:{containerVolunmeDirectory}:ro {imageName}

    #列出当前所有正在运行的容器

    docker ps [OPTIONS]

    -a:列出当前所有正在运行以及历史上运行过的容器

    -l:显示最近创建的容器

    -n:显示最近n个创建的容器

    -q:静默模式,只显示容器id

    --no-trunc:不截断输出

    #停止容器方式退出容器

    exit

    #不停止容器方式退出

    ctrl+p+q

    #启动容器

    docker start {containerId或containerName}

    #重启容器

    docker restart {containerId或containerName}

    #正常停止容器

    docker stop {containerId或containerName}

    #强制关闭容器

    docker kill {containerId或containerName}

    #删除已停止的容器

    docker rm {containerId或containerName}

    #强制删除容器,即使容器正在运行

    docker rm  -f {containerId或containerName}

    #一次性删除多个容器

    docker rm -f $(docker ps -aq)

    docker ps -aq | xargs docker rm

    #查看容器的日志

    docker logs [OPTIONS] {containerId或containerName}

    -t:显示时间戳

    -n:最后n行

    #查看容器内运行的进程

    docker top {containerId或containerName}

    #查看容器内的细节

    docker inspect {containerId或containerName}

    #在宿主机中执行容器的命令

    docker exec -it {containerId或containerName} {bashShell}

    #进入容器,再执行命令,有时候执行该命令会卡住,不推荐使用

    docker attach {containerId或containerName}

    #拷贝容器内的文件到宿主机

    docker cp {containerId或containerName}:{containerPath} {localPath}

    DockerFile保留字指令

    FORM:基础镜像

    MAINTAINER:镜像维护者的姓名和邮箱

    RUN:容器构建时需要运行的命令

    EXPOSE:容器对外暴露的端口

    WORKDIR:指定创建容器后,终端默认进入的工作目录

    ENV:构建镜像过程中设置环境变量

    ADD:将宿主机目录下的文件拷贝进镜像且自动处理url和解压tar压缩包

    COPY:将宿主机目录下的文件拷贝进镜像,COPY src dest,COPY ["src", "dest"]

    VOLUME:容器数据卷,用于保存数据和持久化

    CMD:指定一个容器启动时要运行的命令,DockerFile中可以有多个CMD命令,但只有最后一个生效,CMD会被docker run之后的参数替换

    ENTRYPOINT:指定一个容器启动时要运行的命令,docker run之后的命令会追加,而不是替换

    ONBUILD:假设son镜像继承自father镜像且father镜像的DockerFile中有ONBUILD {bashShell},当构建son镜像的DockerFile时,会执行{bashShell}

  • 相关阅读:
    编码标准之结构
    Python学习入门基础教程(learning Python)--6.3 Python的list切片高级
    dddd
    QT 多线程程序设计(也有不少例子)
    Qt多线程(有详细例子)
    mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys
    每次调用fork()函数之后,父线程和创建出的子线程都是从fork()后开始执行
    ASP.NET MVC的路由
    asp.net通用查询模块设计
    自定义Windows性能监视器
  • 原文地址:https://www.cnblogs.com/xiongwei/p/16078345.html
Copyright © 2020-2023  润新知