Docker容器管理命令

前言

这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题

于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。

微信小程序搜索:Python面试宝典

或可关注原创个人博客:https://lienze.tech

也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习

docker-容器管理

运行容器-run

docker run 可以启动容器,进入到容器,并随机生成容器ID和名称

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 常见参数
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷

显示容器-ps

docker ps [OPTIONS]
# OPTIONS
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
  • 容器状态
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)

容器进程-top

查看容器中运行的进程信息,支持 ps 命令参数

docker top [OPTIONS] CONTAINER [ps OPTIONS]

容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。

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

容器信息-inspect

获取容器的详细信息

docker inspect [OPTIONS] NAME|ID [NAME|ID...]
# OPTIONS
-f :指定返回值的模板文件。
-s :显示总的文件大小。
--type :为指定类型返回JSON。

容器删除-rm

docker rm [OPTIONS] CONTAINER [CONTAINER...]
# OPTIONS
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
  • 删除所有已停止的容器
docker rm $(docker ps -a -q)

容器端口-port

列出指定的容器的端口映射

docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

容器日志-logs

获取容器的日志

docker logs [OPTIONS] CONTAINER
# OPTIONS
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
docker logs --since="2020-03-24" --tail=10 yapi

容器生命周期-start/stop/restart

docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]

容器命令-exec

在运行的容器中执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
# OPTIONS
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
docker exec -it yapi sh

杀死容器-kil

杀掉一个运行中的容器

docker kill [OPTIONS] CONTAINER [CONTAINER...]
# OPTIIONS
-s :向容器发送一个信号
docker kill -s KILL alpine

进入运行中的容器-attach

连接到正在运行中的容器

使用exit退出后容器自动关闭,不推荐使用

docker attach [OPTIONS] CONTAINER

数据拷贝- cp

用于容器与主机之间的数据拷贝

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
# OPTIONS
-L :保持源目标中的链接
docker cp /root/testpro cde75c3e0aa8:/home
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李恩泽的技术博客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值