[wolf@wulaoer.org 🔥🔥🔥🔥 ~ ]$ docker service create --name redis --publish 6379:6379 -e TZ=Asia/Shanghai --mount type=volume,source=redis,destination=/data --config src=redis_conf,target=/etc/redis/redis.conf --network xn_net --with-registry-auth --reserve-cpu 1 --reserve-memory 2G redis:6.0.9 redis-server /etc/redis/redis.conf
这里使用创建一个redis服务,然后使用--reserve配置一个预定资源,但是创建成功后发现,资源不够怎么办,可以通过更新去掉--reserve改成--limit。因为习惯里k8s的用法,所以不太喜欢设置最小值,直接定义一个最大值,我比较习惯使用--reserve
[wolf@wulaoer.org 🔥🔥🔥🔥 ~ ]$ docker service create --name redis --publish 6379:6379 -e TZ=Asia/Shanghai --mount type=volume,source=redis,destination=/data --config src=redis_conf,target=/etc/redis/redis.conf --network xn_net --with-registry-auth --limit-cpu 1 --limit-memory 2G redis:6.0.9 redis-server /etc/redis/redis.conf
这样做的好处可以根据不同的资源限定资源,方便后期更新或者伸缩的资源预算。如果创建后资源不够也可以进行更新。
[wolf@wulaoer.org 🔥🔥🔥🔥 ~ ]$ docker service create --name redis --publish 6379:6379 -e TZ=Asia/Shanghai --mount type=volume,source=redis,destination=/data --config src=redis_conf,target=/etc/redis/redis.conf --network xn_net --with-registry-auth --reserve-cpu 1 --reserve-memory 2G --limit-memory 4096M --limit-cpu 2 redis:6.0.9 redis-server /etc/redis/redis.conf
这里注意,内存的单位,必须有单位,可以使用M也可以使用G,cpu就是核,上面是做了最大最小的限制,如果不小要初始值可以更新的时候删除掉。
[wolf@wulaoer.org 🔥🔥🔥🔥 ~ ]$ docker service update --limit-cpu 5 --limit-memory 4G redis [wolf@wulaoer.org 🔥🔥🔥🔥 ~ ]$ docker service update --limit-cpu 4 --limit-memory 5G redis
这里注意如果创建的时候有--reserve在更新内存的时候不能低于--reserve设置的范围,并且在update中没有--reserve这个删除,所以这里需要注意。并且在设置资源时一定要保证服务可以启动起来,要不资源太小服务就会一直重启。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏