专栏首页小灰灰Docker 常用命令速查手册

Docker 常用命令速查手册

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

<!-- more -->

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或者有更好的建议,欢迎批评指正,不吝感激

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Chrome扩展程序之编码&时间戳小工具

    Chrome扩展程序之编码&时间戳小工具 作为一个前端小白,对于chrome扩展程序久闻大名,实际动手头一次;前天晚上到前端哪里串门看到小伙伴在搞这个,要了份...

    小灰灰
  • SpringBoot系列教程Web篇之开启GZIP数据压缩

    分享一个真实案例,我们的服务部署在海外,国内访问时访问服务时,响应有点夸张;某些返回数据比较大的接口,耗时在 600ms+上,然而我们的服务 rt 却是在 20...

    小灰灰
  • # Java 一步一步实现高逼格的字符串替换工具(二)

    Java 一步一步实现高逼格的字符串替换工具(二) 上一篇实现了一个用于字符串替换的方法,主要是利用 正则 + jdk的字符串替换,本篇则会再之前的基础上...

    小灰灰
  • CentOS7安装Docker及Docker基本操作

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

    yuanfan2012
  • Docker 容器连接

    这样我们就可以通过访问 127.0.0.1:5001(主机) 来访问容器的 5000 端口。这里面默认都是绑定TCP要绑定UDP如下命令:

    Criss@陈磊
  • 安装使用Eclipse Che

    前些日子下载 Eclipse 的时候无意间看到了 “Eclipse Che”,一个高性能的基于浏览器的集成开发环境,说直白点就是浏览器版的 Eclipse,当时...

    kongxx
  • 25. Flask 数据库迁移 flask-migrate

    在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。

    Devops海洋的渔夫
  • 哪位大神指点下

    File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\logging\...

    用户3869227
  • mongodb管理篇

    一、  管理工具集 数据迁移 Mongoexport:用于针对colletions的数据导出,或者打开单个字段。 Mongodbimport:与只对应,这个表示...

    一夕如环
  • 「CSS 3D 专题」学习前,你需要搞明白什么是CSS 3D?

    CSS最令人兴奋的新领域之一莫过于在3D空间操作网页元素,这一新技能给你打开了3D世界的大门,如果你能Get这一项技能,你也能绘制这个真实的世界。CSS 3D ...

    前端达人

扫码关注云+社区

领取腾讯云代金券