Docker 常用指令

基于博主使用与学习过程,持续更新......

  • 重启

    systemctl daemon-reload
    systemctl restart docker
    # 开机启动
    systemctl enable docker
    
  • 管理

    # 删除所有容器
    docker rm -f `docker ps -a -q`
    # 删除无引用的镜像
    docker image prune -a -f
    # 删除所有镜像
    docker rmi `docker images -q`
    # 重启所有容器
    docker restart `docker ps -a -q`
    
  • docker

    docker run {dockerParameter} {image} {containerParameter}
    {dockerParameter}docker create时期的docker参数①,只会在创建的时候执行生效一次并作用于容器整个生命周期,而{containerParameter}docker start时期的容器参数②每次启动都会执行并生效,因此通过-e配置的用户名密码类的环境变量不会因为每次重启容器,将已修改的用户名密码还原

    • rm:删除容器
    • rmi:删除镜像
    • f:强制执行,一般配合删除镜像或容器一起使用
    • run:启动容器
    • exec:进入容器
    • inspect:查看镜像或容器的详情
    • search:搜索镜像,或访问https://hub.docker.com,搜索相关镜像详细说明,点击版本信息可查看Dockerfile,可阅读相关配置
    • pull:拉取镜像
    • logs:查看容器运行日志
    • start:启动,每次开启,程序重新加载容器参数②并开启进程
    • stop:关停,每次关闭,程序会结束进程
    • restart:重启,每次关闭,程序首先结束进程,再重新加载容器参数②并开启进程

      startstoprestart,虽然不会清空容器内的数据,但是不同于虚拟机挂起模式,不会保留操作当时的状态,而是类似于虚拟机或计算机的开关机操作,每次操作都会进入全新的状态,只是运行的数据被保留

  • docker run

    • -d:后台模式运行
    • -i:交互模式运行
    • -t:分配一个伪输入终端,通常与 -i 同时使用
      -d-it是两种不同容器运行方式,可根据实际情况使用,一般运行容器使用-d,进入容器使用-it
    • -p(--publish):映射宿主机端口,前面为宿主机后面为容器
    • -v(--volume):挂在宿主机目录,方便拷贝或迁移数据,前面为宿主机后面为容器,会将宿主机的数据覆盖至容器,其作用:
      • 使容器能够更方便的访问宿主机的文件数据
      • 将容器内的数据存储至宿主机,避免因容器的修改、删除、重建、损坏而丢失数据
    • h:指定容器主机名
    • m:指定容器内存大小,一般与--memory-swap共同作用。异常不生效时,参考:https://blog.csdn.net/qq23ue/article/details/86637460
    • cp:宿主机与容器文件拷贝
      • docker cp {container}:{path} {hostPath}:将容器内的文件拷贝至宿主机
      • docker cp {hostPath} {container}:{path}:将宿主机的文件拷贝至容器内
    • -e:设置环境变量(docker参数①),如docker run ...... -e JAVA_HOME=/var/java ......
    • --name:容器名称
    • --net:网络模式(使用host模式时,-p参数就不需要了)
    • --privileged=true:设置容器特权。设置为true时,容器内的root拥有宿主机真正的root权限,设置为false时,容器内的root只是宿主机的一个普通用户权限
    • --log-opt:日志参数,常用max-size(文件大小)与max-file(文件数量)
    • --{containerParameter} {containerParameterValue}容器参数②,如docker run ...... --JAVA_HOME /var/java
  • docker exec:进入容器,示例:docker exec -it {container} {}

    • /bin/bash | /bin/sh | bash | sh
      *在容器中,键入exit退出容器
      *bash是sh的完整版,bash完全兼容sh命令,反之不行,具体那个可行需要看容器的基础镜像的脚本解释器
  • docker logs:查看容器日志

    • -f:实时日志
    • -t:查看日志产生日期
    • --since:输出指定日期之后的日志
    • --tail=N:输出前N条日志
  • docker info:查看docker信息

  • 国内源配置,参考:https://www.cnblogs.com/anliven/p/6218741.html | https://www.jianshu.com/p/4ef9cc9c2092

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。