(五)docker容器实例运行结束后自动释放资源

1、如何查看docker run 的相关命令? 

docker run --help | grep rm

--rm 参数: Automatically remove the container when it exists

作用:当容器命令运行结束后,自动删除容器,自动释放资源

应用场景:在某些环境下,可能需要大量的新建docker实例,然后仅仅运行几秒钟或几分钟,然后就彻底删除。如运行单元测试或测试弹性云计算。

例如:阿里云,要模拟双11的压力,需要快速创建1万docker实例,每个docker容器实例中都运行ab命令,拼命访问tmall.com首页,运行1个小时,1小时候自动删除。

# 运行5秒钟之后,自动给删除 
dockere run -it --rm --name mk centos  sleep 5

 

2、docker容器资源配额控制之内存

docker提供参数-m,--memory =“限制容器的内存使用量”

例1:要限制docker的运行内存是128M

docker run -it -m 128m centos

# 然后进行查看
cat /sys/fs/cgroup/memory/memory.limit_in_bytes

例2:创建一个docker,只使用2个cpu核心,只能使用128M内存

docker run -it --cpuset-cpu 0,1 -m 128m centos

3、docker 数据映射

语法:
docker -itd -v /src/dest  centos bash

-v  用来指定挂载目录,冒号: 前面的/src为物理机本地目录,后面的/dst 为容器的目录。

例1:把物理机上的/var/www/html 映射到docker实例的/var/www/html。

好处:这样当docker坏了,数据还在物理机上,再使用apache镜像启动一个docker实例就可以了,数据不丢失。

docker run -it --name web1 -v /var/www/html:/var/www/html centos bash

然后将相应的内容存储到html下,进行测试一下:

>echo aaa > /var/www/html/index.html
>cat !$
cat /var/www/html/index.html
aaa

docker容器资源配额控制之IO控制

为什么阿里云平台上普通云盘的IO为:1000 IOPS ,为什么这么小?

原因是:一台存储给2000台云主机使用,需要控制一i西安,防止某台云主机吃光你的磁盘I/O资源

情景:防止某个Docker容器吃光你的磁盘I/O资源

例1:限制容器实例对硬盘的最高写入速度设定为1MB/s.

docker run -it -v /var/www/html:/var/www/html --device /dev/sda:/dev/sda --device-write-bps /dev/sda:1mb centos /bin/bash
time dd if=/dev/sda of=/var/www/html/test.out bs=1M count=50 oflag-direct,nonblock

dd参数:

  • direct:读写数据采用直接IO方式,不走缓存。直接从内存写硬盘上。
  • nonblock:读写数据采用非阻塞IO方式,有限写dd命令的数据


本文章是学习于docker视频,意在帮助大家更好的学习,如有问题,欢迎大家留言!!

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于Docker容器运行后消失的问题,可能有多种原因导致。以下是一些常见的可能性和解决方法: 1. 容器没有正确启动:首先,请确保您正确执行了启动容器的命令,并且容器的配置和设置正确。可以使用`docker ps -a`命令查看所有容器的状态,确定容器是否已经成功启动。 2. 容器退出或崩溃:容器可能因为某些错误或异常情况而退出。可以通过`docker logs <container_id>`命令查看容器的日志信息,了解容器退出的原因。根据日志中的错误信息进行排查和修复。 3. 容器配置问题:可能容器的配置文件存在问题,导致容器无法正常运行。可以检查Dockerfile或docker-compose.yaml等配置文件,确保配置正确。 4. 资源限制:Docker运行容器时可能会受到资源限制,如CPU或内存限制。如果容器需要更多资源才能正常运行,可以尝试增加资源限制。可以使用`docker run`命令的`--cpus`和`--memory`参数来调整资源限制。 5. 容器自动删除:在某些情况下,Docker可能会自动删除已退出的容器。可以使用`docker run`命令的`--rm`参数来防止容器退出后自动删除。 6. 持久化存储问题:如果容器运行过程中需要对数据进行持久化存储,而没有正确配置挂载卷或数据卷,可能导致数据丢失。可以检查容器的挂载卷配置,确保数据得到正确保存。 希望以上解决方法能帮助您找到问题所在并解决容器消失的问题。如有更多细节或其他问题,请提供更多信息以便我能够提供更精确的帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值