子曰,温故而知新

今日,再次看书之际,又寻得docker的几条使用命令,用小本本记下来

配置docker镜像源

当我们在拉去一些共有镜像时,默认,docker会向docker.io去获取,如果在拉取的过程中出现下载速度慢的情况呢,其实可以试试用一些国内的镜像源,例如:daocloud镜像站
官方文档: https://www.daocloud.io/mirror
仅需要一条明明足以

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

当前命令适用于Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1
执行完毕后,需要重启一下docker

# systemctl restart docker

如果在重启的过程中报错:

Apr 20 09:02:48 localhost systemd: Starting Docker Application Container Engine...
Apr 20 09:02:48 localhost dockerd-current: unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character '}' looking for beginning of object key string
Apr 20 09:02:48 localhost systemd: docker.service: main process exited, code=exited, status=1/FAILURE

这是由于配置json文档的格式出错了

,则需要将/etc/docker/daemon.json文件中后面那个,号给删掉即可,例如

修改前:

{"registry-mirrors": ["http://f8214db2.m.daocloud.io"],}

修改后:

{"registry-mirrors": ["http://f8214db2.m.daocloud.io"]}

再次重启docker即可

查看docker 最新的log
使用docker logs -ft 即可
-f: 动态输出
-t: 增加时间戳
--tail n: 获取最新输出的n条
例如:

# docker logs -ft --tail 10 centos_name_1
2019-04-20T13:27:19.366905000Z
2019-04-20T13:27:19.368079000Z lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
2019-04-20T13:27:19.368478000Z inet 127.0.0.1 netmask 255.0.0.0
2019-04-20T13:27:19.368746000Z inet6 ::1 prefixlen 128 scopeid 0x10<host>
2019-04-20T13:27:19.369000000Z loop txqueuelen 1000 (Local Loopback)
2019-04-20T13:27:19.371869000Z RX packets 0 bytes 0 (0.0 B)
2019-04-20T13:27:19.374114000Z RX errors 0 dropped 0 overruns 0 frame 0
2019-04-20T13:27:19.374525000Z TX packets 0 bytes 0 (0.0 B)
2019-04-20T13:27:19.374886000Z TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2019-04-20T13:27:19.375426000Z

查看docker进程
使用docker top命令可以查看docker中的进程
例如:

# docker top centos_name_1
UID PID PPID C STIME TTY TIME CMD
root 4468 4452 0 09:16 pts/2 00:00:00 /bin/bash
#

查看docker容器的负载

# docker stats centos_name_1CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
centos_name_1 0.00% 392 KiB / 991 MiB 0.04% 22 MB / 600 kB 22.8 MB / 46 MB 1

docker自重启
在docker run 时,加入--restart=[always,on-failure:[number]]
--restart=always :docker 自动重启
--restart=on-failure :docker 只有在退出码非0的时候才会重启
--restart=on-failure:3 在退出码状态为非0的时候,重启,最多重启3次

例子 --restart=always :

# docker run -d --restart=always  nginx

创建一个docker 容器,现在来删除它

# ps aux | grep `docker ps | grep nginx | awk '{print $1}'` | grep -v grep | awk '{print $2}'
7583
# kill -9 7583
# ps aux | grep `docker ps | grep nginx | awk '{print $1}'` | grep -v grep | awk '{print $2}'
7842
# docker ps
ONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
d1ed69cb3238        nginx               "nginx -g 'daemon ..."   8 minutes ago       Up 47 seconds       0.0.0.0:80->80/tcp   affectionate_wiles
# 

我们可以发现,kill后进程又起来了

例子 --restart=--restart=on-failure:

# docker run -d --restart=on-failure:2 nginx
6fabc743a488a857909ac4f1472a7f1012e2224e300da70aa15c1cb8f5db0767
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
6fabc743a488        nginx               "nginx -g 'daemon ..."   2 seconds ago       Up 2 seconds        80/tcp              cocky_heisenberg
# 

#  ps aux | grep `docker ps | grep nginx | awk '{print $1}'` | grep -v grep | awk '{print $2}'
8030
# kill -9 8030
#  ps aux | grep `docker ps | grep nginx | awk '{print $1}'` | grep -v grep | awk '{print $2}'
8145
# kill -9 8145
#  ps aux | grep `docker ps | grep nginx | awk '{print $1}'` | grep -v grep | awk '{print $2}'
8242
# kill -9 8242
#  ps aux | grep `docker ps | grep nginx | awk '{print $1}'` | grep -v grep | awk '{print $2}'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
# 

发现,在重启两次后,该容器不重启了。

其实基础真的很重要~~~

转载于:https://www.cnblogs.com/wang-li/p/10743130.html

再谈docker基本命令相关推荐

  1. mysql sail_再谈docker搭建nginx+php+mysql开发环境 | Sail

    写在前面 前几天我写了一篇博客docker搭建nginx+php+mysql开发环境.当时主要是参考一片博文搭建记录的. 可是这样搭建出来是有一些问题的,具体的原因我还没找出.当然那篇文章还是有一些参 ...

  2. 再谈Docker,微服务的场景化应用

    看过<超能陆战队>的朋友可能仍然对于电影中的男主角介绍和演示自己发明的微型机器人的场景记忆犹新. "它"看起来只是一跟带有磁性的小小的金属部件.但是它是一个独立的个体, ...

  3. 再谈 Go 语言在前端的应用前景

    12 月 23 日,七牛云 CEO & ECUG 社区发起人许式伟先生在 ECUG Con 2018 现场为大家带来了主题为<再谈 Go 语言在前端的应用前景>的内容分享. 本文是 ...

  4. 运维基本功(十三): 再谈用户组管理

    本文是在课程课件基础上修改的学习笔记 课程原地址:https://www.bilibili.com/video/BV1nW411L7xm 如有侵删 运维基本功(一):Linux系统安装 运维基本功(二 ...

  5. 再谈JSON -json定义及数据类型

    再谈json 近期在项目中使用到了highcharts ,highstock做了一些统计分析.使用jQuery ajax那就不得不使用json, 可是在使用过程中也出现了非常多的疑惑,比方说,什么情况 ...

  6. C++_动态绑定,再谈const,new,delete

    C++_动态绑定,再谈const,new,delete

  7. 再谈HTTP2性能提升之背后原理—HTTP2历史解剖

    即使千辛万苦,还是把网站升级到http2了,遇坑如<phpcms v9站http升级到https加http2遇到到坑>. 因为理论相比于 HTTP 1.x ,在同时兼容 HTTP/1.1 ...

  8. 再谈工作的主动性和有效提问

    主动性是一个非常奇怪的词,每个人对这个词的理解都不一样.可能一个管理者对员工说,你要提高主动性,但是员工会非常苦恼,甚至崩溃:我都天天加班了,你居然还在谈提高主动性? 结合很多应届生在实际工作中遇到的 ...

  9. 再谈符号间干扰(一)

    在对话通信原理系列相关博文中,有这么一篇博文:通信系统之信道,这篇博文里面已经讲过符号间干扰(ISI),发生符号间干扰的原因在于信号带宽大于相干带宽,同一个意思的表达为:发送符号的周期小于最大时延扩展 ...

最新文章

  1. Linux下更改系统时区及时间
  2. 一个合格程序员该做的事情
  3. 迷宫问题最短捷径c语言深搜,迷宫问题 C语言实现(深搜)
  4. 正确的线程中止-标志位
  5. linux io体系结构,Linux IO体系结构
  6. python tkinter计算器实例_python小实例——tkinter实战(计算器)
  7. Qt Creator使用ClearCase
  8. 服务降级-多版本支持
  9. Vue项目实战04 : Vue 轮询接口的实现
  10. 只要300页!火遍全网的NET6+linux知识手册!拿走不谢!
  11. WinSock I/O 模型 -- WSAAsyncSelect 模型
  12. 拯救不靠谱:他是怎样将技术外包做到纠纷率3%?
  13. 在linux下 用户的密码错误,linux – 常规用户帐户之间的su失败,“su:密码错误”...
  14. [P2396] yyy loves Maths VII
  15. PaddlePaddle飞桨OCR文本检测——识别模型训练(三)
  16. 经典排序算法(六)--归并排序Merge Sort
  17. HTML 5 会为 Flash 和 Silverlight 送终吗?
  18. php socket 执行,PHP异步调用socket实现代码
  19. 数据库, 数据仓库, 数据集市,数据湖,数据中台
  20. 云端(服务器)车牌识别SDK

热门文章

  1. criteria创建criteria 左连接 再 添加 add example,报错 ClassCastException:
  2. MongoDB命令及SQL语法对比
  3. Android布局之weight属性解析
  4. 多DHCP服务器的作用域 及备用DHCP服务器(一)
  5. 我眼里的Exchange 2010 之:1—DAG
  6. mysql集群安装配置
  7. Spark源码阅读03-Spark存储原理之共享变量
  8. JAVA通过JDBC连接并操作MySQL数据库
  9. Linux平台安装MongoDB
  10. jQuery - 设置内容和属性