前言
这几年一直在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