码迷,mamicode.com
首页 > 其他好文 > 详细

docker常用命令

时间:2018-12-26 20:11:25      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:端口   code   ted   时间   cond   通过   and   commit   creat   

  • 当我们创建一个容器的时候,docker 会自动对它进行命名。另外,我们也可以使用?--name?标识来命名
  • -d 让 Docker 在后台运行而不是直接把执行命令的结果输出在当前宿主机下
    [root@test32 ~]# docker run nginx /bin/sh -c "while true; do echo hello world; sleep 1; done"
    hello world
    hello world
    hello world
    hello world
  • [root@test32 ~]# docker run -d nginx /bin/sh -c "while true; do echo hello world; sleep 1; done"
    2939156e31bb2913453aaa424214376c382aabef2bf1903e723e2ad9f6330e35
    [root@test32 ~]# docker ps 
    CONTAINER ID        IMAGE                                          COMMAND                  CREATED             STATUS              PORTS                NAMES
    2939156e31bb        nginx                                          "/bin/sh -c ‘while..."   17 seconds ago      Up 15 seconds       80/tcp               youthful_hodgkin
    • 此时用 docker logs 来查看日志

      [root@test32 ~]# docker logs -f -t 293915
      2018-12-26T10:34:40.558068000Z hello world
      2018-12-26T10:34:41.559143000Z hello world
      2018-12-26T10:34:42.560398000Z hello world
      2018-12-26T10:34:43.561626000Z hello world
      2018-12-26T10:34:44.562831000Z hello world
      2018-12-26T10:34:45.564119000Z hello world

      -f 跟踪实时日志
      --since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
      --tail string 从日志末尾显示多少行日志, 默认是all
      -t 显示时间戳
      --until string 显示自某个timestamp之前的日志,或相对时间

      [root@test32 ~]# docker logs -f -t --tail=10 293915  
      [root@test32 ~]#  docker logs -t --since="2018-12-26T10:48Z" 293915             2018-12-26T10:48:00.605556000Z hello world
      2018-12-26T10:48:01.607088000Z hello world
      2018-12-26T10:48:02.608282000Z hello world
      2018-12-26T10:48:03.609575000Z hello world
      2018-12-26T10:48:04.610942000Z hello world
    • stop

      [root@test32 ~]#  docker stop 293915                                      
      293915
      [root@test32 ~]# docker ps -a    
      CONTAINER ID        IMAGE                                          COMMAND                  CREATED             STATUS                        PORTS                NAMES
      2939156e31bb        nginx                                          "/bin/sh -c ‘while..."   16 minutes ago      Exited (137) 14 seconds ago                        youthful_hodgkin
    • ?docker ps?查看容器名称
    • docker:?Docker 的二进制执行文件。
    • run:与上面的 docker 组合来运行一个容器
    • -d:让容器在后台运行。
    • 通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力

      • -t:在新容器内指定一个伪终端或终端。
      • -i:允许你对容器内的标准输入 (STDIN) 进行交互。
    • ?-P?参数创建一个容器
    • 两种方式的区别是:
    • -P :是容器内部端口随机映射到主机的高端口。
    • -p :?是容器内部端口绑定到指定的主机端口。
      • docker run -d -P training/webapp python app.py
      • docker run -p 127.0.0.1:5000:5000/udp training/webapp python app.py
    • 默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上?/udp
    • docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubunt
    • 各个参数说明:
      • -m: 提交的描述信息
      • -a: 指定镜像作者
      • e218edb10161:容器ID
      • runoob/ubuntu:v2: 指定要创建的目标镜像名
    • docker build -t runoob/centos:6.7 .
      • -t?: 指定要创建的目标镜像名
      • .?: Dockerfile?文件所在目录,可以指定Dockerfile?的绝对路径

    docker常用命令

    标签:端口   code   ted   时间   cond   通过   and   commit   creat   

    原文地址:http://blog.51cto.com/12390045/2335677

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!