四.docker容器管理

网友投稿 242 2022-10-29

四.docker容器管理

试验机192.168.181.144 用户root 密码123456

主机名root@web:/# hostnameweb

docker image prune 移除不使用的镜像;

Export 导出容器文件系统 -----------针对容器导出导入,不会保存层级信息,快照。import导入容器文件

Save 保存导出完整镜像;docker image save nginx > nginx.tar ------针对镜像持久化,可以保存层级信息以及历史数据,俗称元数据。

Load 导入镜像 docker image load < nginx.tar

Docker stats web 动态查看运行内存状态Docker stats --no-stream web 静态查看

容器内存默认运用到物理所有内存,所以为了安全 要做内存限制

默认swap是设置内存到两倍

docker cp apache-maven-3.5.3-bin.tar.gz web04:/

docker exec -it web04 ls /

docker top 2167fe9f46da 查看容器进程

容器日志输出到控制台的日志才能用docker logs 看到

docker run -d --name web3 --restart always -P nginx :运行容器 参数--restart always 当 Docker 重启时,容器能自动启动参数 on-failure 容器退出docker会启动他直到超过设置启动的次数;

容器资源限制参数Cpu限额docker run -d --name nginx03 --memory="500m" –memory-swap="600m" --oom-kill-disable nginx

默认情况下,在出现 out-of-memory(OOM) 错误时,系统会杀死容器内的进程来获取更多空闲内存。这个杀死进程来节省内存的进程,我们姑且叫它 OOM killer。我们可以通过设置–oom-kill-disable选项来禁止 OOM killer 杀死容器内进程。但请确保只有在使用了-m/–memory选项时才使用–oom-kill-disable禁用 OOM killer。如果没有设置-m选项,却禁用了 OOM-killer,可能会造成出现 out-of-memory 错误时,系统通过杀死宿主机进程或获取更改内存。

#启用docker容器限制内存500m,swap 600m 禁止oom;

docker stats --no-stream nginx03

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDSe7042e0bf2e2 nginx03 0.00% 3.648MiB / 600MiB 0.61% 648B / 0B 8.55MB / 0B 0#运行查看容器状态;

docker run -d --name web05 --cpus="0.5" nginx #容器运行50%cpu;

禁用 –oom-kill-disable 禁用OOM Killer 启用,物理内存不够了 就自动关闭内存耗费最大的应用;

Docke 容器状态监控$ docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

NAME CPU % MEM USAGE / LIMITweb03 0.00% 1.352MiB / 977.9MiBnginx02 0.00% 2.848MiB / 600MiBweb2 0.00% 1.363MiB / 977.9MiB

容器重新生成镜像【容器数据持久化】

docker exec -it web05 bash #进入容器修改文件;docker commit web05 nginx:v1 #提交并且打标记变成镜像;

docker images #查看最新的镜像;#进入容器查看 docker run --d --name web05-1 ngixn:v1 docker exec -it web05-1 bash

复制本地文件到容器

docker cp 1.txt web05:/

docker exec -it web05 bash 或者用docker exec -it web05 ls查看

查看端口映射

docker port 803a6db849ab80/tcp -> 0.0.0.0:32768

容器映射宿主机

查看容器中进程

docker top 803a6db849ab

在线修改容器cpus限制 ,仅限cpu和内存,即时生效

docker update --cpus "1.5"

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PLC串口通信:RS232-C接口连接器
下一篇:什么是mipi接口
相关文章

 发表评论

暂时没有评论,来抢沙发吧~