zoukankan      html  css  js  c++  java
  • Docker 常用命令速查手册

    记录一下docker的日常使用命令,本文主要针对linux + mac操作系统而言,window是否适用不太确定,谨慎使用

    1. docker进程

    docker进程启动、停止、重启,常见的三种case

    # 启动docker
    service docker start
    # 关机docker
    service docker stop
    # 重启docker
    service docker restart
    

    2. 镜像操作

    镜像作为容器执行的前提条件,一般需要掌握的几个命令无非是搜索,下载,删除,创建

    # 镜像列表
    docker images
    # 检索镜像, 从镜像仓库中检索
    docker search xxx
    # 下载镜像
    docker pull xxx
    # 删除镜像
    docker rmi xxx
    

    关于创建镜像,有必要稍微详细一点点

    # 通过容器创建镜像
    docker commit -m="首次提交" -a="一灰灰Blog" dd85eb055fe8 yh/centos:v0.1
    # 镜像历史查询
    docker history yh/centos
    

    上面的几个参数进行说明

    • -m 和git的提交一样,后面跟上描述信息
    • -a 版权声明,这个东西是我创建的,有啥问题,找我
    • dd85eb055fe8 容器id
    • yhh/quick-os:0.1 创建的镜像名

    3. 容器操作

    接下来就是正菜了,容器的各种操作,启动,关闭,重启,日志查询以及各种进入容器内部搞事情

    a. run

    万事开头第一步,加载镜像,创建容器

    docker run 镜像名:版本
    

    run后面可以跟很多的参数,比如容器暴露端口指定,存储映射,权限等等,由于参数过多,下面只给出几个不同的例子,来具体的演示参数可以怎么加

    case1: 创建并后台执行

    docker run -i -t -d centos:latest
    
    • 其中关键参数为-d,指定容器运行与前台或者后台,不加上时前台
    • -i: 打开STDIN,用于控制台交互
    • -t: 支持终端登录

    case2: 运行一个带命令在后台不断执行的容器

    docker run -d centos:latest ping www.baidu.com
    

    case3: 运行一个在后台不断执行的容器,同时带有命令,程序被终止后还能重启继续跑

    docker run -d --restart=always centos:latest ping www.baidu.com
    

    case4: 指定容器名

    docker run -d --name=yhh_centos centos:latest
    

    case5: 暴露容器端口80,并与宿主机端口8080绑定

    docker run -d --name=yhh_centos -p 8080:80 centos:latest
    

    case6: 指定容器与宿主机目录(/home/yihui/html/www)共享

    docker run -d --name=yhh_centos -v /home/yihui/html/www:/var/www centos:latest
    

    b. 基操

    容器创建完毕之后,就是一些基本操作了,启动、停止、重启、删除

    # 查看容器列表, 列出所有的容器
    docker ps -a 
    # 启动容器,start后面可以跟上容器名,或者容器id
    docker start xxx  # (这里的xxx可以是容器名:yhh_centos 也可以是容器id:f57398ab22c5)
    # 关闭容器
    docker stop xxx
    # 重启
    docker restart xxx
    # 删除
    docker rm xxx
    

    在查看容器列表时,如果某个容器的启动参数特别长,直接使用docker ps -a会发现看不到完整的启动命令,这个时候可以带上参数--no-trunc来显示完整命令

    docker ps -a --no-trunc
    

    c. 进阶

    接下来进入一些容器的高级操作技巧(实际上也并没有特别酷炫)

    为了演示一些进阶的内容,这里创建一个容器作为测试

    docker run -it -d --name=yhhos centos
    

    容器日志查询

    日志,定位问题的神器

    # 查询xxx容器的日志
    docker logs yhhos
    

    基本上不太会直接使用上面的命令,因为上面把所有的日志都打印出来了,可以直接晃瞎我们的钛合金x眼

    一般日志可以加两个参数 -f, -t

    docker logs -f -t --since="2019-05-11" --tail=10 yhhos
    
    • --since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。
    • -f : 查看实时日志
    • -t : 查看日志产生的日期
    • --tail=10 : 查看最后的10条日志。

    文件拷贝

    将容器的某个文件捞出来;或者强塞,一个cp即可

    # 将当前目录的test.md文件拷贝到容器的 /tmp 目录下
    docker cp test.md yhhos:/tmp
    
    # 将容器的/tmp/test.md目录拷贝到当前目录下
    docker cp yhhos:/tmp/test.md ./out.md
    

    进入容器

    进入容器内部,然后就可以为所欲为了...

    docker exec -it yhhos /bin/bash
    

    获取容器所有信息

    docker inspect yhhos
    

    II. 其他

    1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

    一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

    2. 声明

    尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

    3. 扫描关注

    一灰灰blog

    QrCode

  • 相关阅读:
    Cortex-M3 跳转到指定bin执行
    Keil生成汇编文件、bin文件
    鲁迅
    Cortex-M3的一些概念
    linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结【转】
    c/c++ linux下 移动、删除文件
    c/c++ linux下 获取时间戳
    c++ 生成随机字符串【转】
    c++ <fstream> 读写文件总结
    c++11 std::mutex
  • 原文地址:https://www.cnblogs.com/yihuihui/p/12003244.html
Copyright © 2011-2022 走看看