• Docker 命令总结


    安装

    下载镜像

    镜像仓库地址

    以安装dotnet core 为例,直接执行命令:docker pull microsoft/dotnet, 详细解释见链接:https://hub.docker.com/r/microsoft/dotnet/

    images 操作

    docker images :显示所有镜像文件
    docker inspect [image-id/image-name] :显示镜像详细信息
    docker search [image-name] :搜索镜像
    docker rmi [image-id/image-name] :删除镜像
    docker build -t [image-name] . :创建镜像; 该命令要求Dockerfile在当前目录下

    docker images | grep "redis" : 查询所有包含redis的镜像

    docker images | grep "redis" | awk '{print $3}' : 数据包含redis镜像的第3列内容(镜像id)

    container操作

    docker ps :查看当前运行的容器
    docker ps -a :查看所有容器

    • 容器标题含义:
      CONTAINER ID:容器的唯一表示ID
      IMAGE:创建容器时使用的镜像
      COMMAND:容器最后运行的命令
      CREATED:创建容器的时间
      STATUS:容器状态
      PORTS:对外开放的端口
      NAMES:容器名。可以和容器ID一样唯一标识容器,同一台宿主机上不允许有同名容器存在,否则会冲突
    • docker start [container-id/container-name] :启动容器
      docker stop [container-id/container-name] :停止容器
      docker rm [container-id/container-name] :删除容器; 删除前,要求先停止容器
    • docker stop $(docker ps -a -q) :停止所有容器(可以使用同样方式,操作所有容器,镜像)
    • docker ps -a --format "{{.ID}} {{.Command}}" : 显示指定列(同样可以适用于查看image)

    kubernet

    • docker(kubernete_name)名称查询:kubectl get pods

    • 进入docker(kubernete)内部:kubectl exec -it [kubernete_name] sh

    • 创建容器例子:docker run --name=pgdemo_example -p 5000:5000 -d pgdemo
      --name:指定容器名称
      -p:指定映射端口
      -d:指定容器 后台运行
      [pgdemo] 为镜像名称

    log

    docker logs -f -t --since="2018-01-01" --tail=10 [container-name] :查看日志

    docker logs [OPTIONS] CONTAINER
    Options:
    --details 显示更多的信息
    -f, --follow 跟踪实时日志
    --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
    --tail string 从日志末尾显示多少行日志, 默认是all
    -t, --timestamps 显示时间戳
    --until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

    实例:

    • 查看指定时间后的日志,只显示最后10行
      $ docker logs -f -t --since="2018-08-01" --tail=10 container-id

    • 查看最近10分钟的日志
      $ docker logs --since 10m container-id

    • 查看某时间之后的日志
      $ docker logs -t --since="2018-08-01T11:30:56" container-id

    • 查看某时间段日志
      $ docker logs -t --since="2018-08-01T11:30:56" --until "2018-08-01T12:30:56" container-id

    • 输出到文件中:$ docker logs -t --since="2018-08-01T11:30:56" > test.log

    dockerfile

    • 一个Dotnet Core例子, Dockerfile文件内容如下:
      --基于 microsoft/dotnet:2.1-aspnetcore-runtime 构建镜像 FROM microsoft/dotnet:2.1-aspnetcore-runtime

      --拷贝当前文件夹下所有文件到 docker容器中的publish文件夹中
      --格式: COPY [本地文件路径] [docker中的路径,名字随意写]
      COPY . /publish

      --设置工作目录为 /publish 文件夹,即容器启动默认的文件夹 WORKDIR /publish

      --设置Docker容器对外暴露5000端口 EXPOSE 5000

      --运行程序 ENTRYPOINT ["dotnet", "HelloWorld.dll", "--server.urls", "http://*:5000"]

    实例

    postgresql

    命令:
    docker run -d --name [container-name] -v [docker-datapath]:[host-datapath] -p [host-port]:[docker-port] [image-name]

    实例:
    docker run -d --name postgresql_database -v /opt/data/postgresql:/var/lib/pgsql/data -p 5432:5432 [postgres]

    nginx

    问题分析

    进入Docker实例内部

    Docker Image实例本身是一个独立运行的环境,可以进入到实例内部,查看运行状态等信息。

    docker exec -it [container-name] bash :进入实例内部

     

    vim 

    • 搜索:输入:/字符串
    • 查看下一个匹配,按下n(小写n) 

    • 跳转到上一个匹配,按下N(大写N)

    •  跳转到文件头:gg
    •  跳转到文件末尾:Shift+g

     

     

  • 相关阅读:
    Maven最全指南,看了必懂(转载)
    MySQL:数据库优化
    关于 MyBatis 10 种通用的写法
    Redis 性能问题分析(转载)
    前端对于服务端渲染(SSR)的理解
    JS 中的编码和解码(encode和decode)
    SEO、SPA、SSR的区别关系详解
    VUE 项目路由的两种模式(hash、history)
    Chrome和IE浏览器的渲染过程区别
    对于前端缓存的理解(缓存机制和缓存类型)
  • 原文地址:https://www.cnblogs.com/arvinzhang/p/9962636.html
Copyright © 2020-2023  润新知