docker维护操作

1.暂停、恢复容器中所有的进程(pause/unpause)

  • docker pause :暂停容器中所有的进程。
  • docker unpause :恢复容器中所有的进程。
# 暂停数据库容器db01提供服务。  
docker pause db01  
 
# 恢复数据库容器 db01 提供服务  
docker unpause db0

2.查看容器中运行的进程信息(top)

# 查看容器mymysql的进程信息。  
docker top mymysql  
 
# 查看所有运行容器的进程信息。  
for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done

3.获取实时事件(events)

  • -f : 根据条件过滤事件;
  • –since : 从指定的时间戳后显示所有事件;
  • –until : 流水时间显示到指定的时间为止;
# 显示docker 2016年7月1日后的所有事件。  
docker events  --since="1467302400"  
 
# 显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件。  
docker events -f "image"="mysql:5.6" --since="1467302400"

说明:如果指定的时间是到秒级的,需要将时间转成时间戳。如果时间为日期的话,可以直接使用,如–since=“2016-07-01”。

4,获取容器的日志(logs)

logs参数说明:

  • -f : 跟踪日志输出
  • –since : 显示某个开始时间的所有日志
  • -t : 显示时间戳
  • –tail : 仅列出最新N条容器日志
# 跟踪查看容器mynginx的日志输出。  
docker logs -f mynginx  
 
# 查看容器mynginx从2016年7月1日后的最新10条日志。  
docker logs --since="2016-07-01" --tail=10 mynginx

5.将文件系统作为一个tar归档文件导出到STDOUT(export)

  • -o : 将输入内容写到文件。
# 将id为a404c6c174a2的容器按日期保存为tar文件。  
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2  
 
ls mysql-`date +%Y%m%d`.tar

6.从容器创建一个新的镜像(commit)

  • -a : 提交的镜像作者;

  • -c : 使用Dockerfile指令来创建镜像;

  • m : 提交时的说明文字;

  • -p : 在commit时,将容器暂停。

# 将容器a404c6c174a2 保存为新的镜像,
# 并添加提交人信息和说明信息。  
docker commit -a "gee" -m "my db" a404c6c174a2  mymysql:v1

7.容器与主机之间的数据拷贝(cp)

  • -L : 保持源目标中的链接
# 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。  
docker cp /www/runoob 96f7f14e99ab:/www/  
 
# 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。  
docker cp /www/runoob 96f7f14e99ab:/www  
 
# 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。  
docker cp  96f7f14e99ab:/www /tmp/

8.检查容器里文件结构的更改(diff)

# 查看容器mymysql的文件结构更改。  
docker diff mymysql

9.从镜像仓库中拉取或者更新指定镜像(pull)

参数说明:

  • -a : 拉取所有 tagged 镜像
  • –disable-content-trust : 忽略镜像的校验,默认开启
# 从Docker Hub下载java最新版镜像。  
docker pull java  
# 从Docker Hub下载REPOSITORY为java的所有镜像。  
docker pull -a java

10.将本地的镜像上传到镜像仓库,要先登陆到镜像仓库(push)

参数说明:

  • –disable-content-trust : 忽略镜像的校验,默认开启
# 上传本地镜像myapache:v1到镜像仓库中。  
docker push myapache:v1

11.将指定镜像保存成 tar 归档文件(save)

参数说明:

  • -o : 输出到的文件。
# 将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档  
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3

12.导入使用 docker save 命令导出的镜像(load)

参数说明:

  • –input , -i : 指定导入的文件,代替 STDIN。
  • –quiet , -q : 精简输出信息。
# 导入镜像  
docker load --input fedora.tar

13.从归档文件中创建镜像(import)

参数说明:

  • -c : 应用docker 指令创建镜像;
  • -m : 提交时的说明文字;
# 从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4  
docker import  my_ubuntu_v3.tar runoob/ubuntu:v4

13.防火墙重启后docker容器启动不了

因为docker是高度依赖iptables 的所以重启完防火墙或者修改防火墙后需要重启docker服务再重新启用容器。

  • 首先先查看iptables有无经用端口啥的,如果是因为禁用端口啥的起不了容器,需要先放行再重启
iptables -nvL

在这里插入图片描述

  • 重启docker
systemctl restart docker
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallFatMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值