Docker 命令总结

Posted arvinzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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在当前目录下

container操作

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

  • 容器标题含义:
    CONTAINER ID:容器的唯一表示ID
    IMAGE:创建容器时使用的镜像
    COMMAND:容器最后运行的命令
    CREATED:创建容器的时间
    STATUS:容器状态
    PORTS:对外开放的端口
    NAMES:容器名。可以和容器ID一样唯一标识容器,同一台宿主机上不允许有同名容器存在,否则会冲突

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] 为镜像名称

docker start [container-id/container-name] :启动容器
docker stop [container-id/container-name] :停止容器
docker rm [container-id/container-name] :删除容器; 删除前,要求先停止容器

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

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 :进入实例内部



































以上是关于Docker 命令总结的主要内容,如果未能解决你的问题,请参考以下文章

Docker 学习笔记总结

Docker 学习笔记总结

Docker速学 编排集群和常见命令总结

[转帖]Docker常用命令总结

Docker学习总结

Docker常用命令 总结