自己内存1G的VPS使用docker-compose安装了wordpress,内存占用过高,尝试限制每个容器的内存的使用,缓解内存过高的问题,下面为详细步骤。
修改yml配置
以下为wordpress的完整的配置文件,增加的deploy.resources.limits这部分内容为限制的命令,cpu最大使用为50%,内存使用为300MB。
version: '3.1' services: wordpress: image: wordpress deploy: resources: limits: cpus: '0.50' memory: 300M restart: always ports: - 8080:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: test WORDPRESS_DB_PASSWORD: test WORDPRESS_DB_NAME: exampledb volumes: - wordpress:/var/www/html db: image: mysql:5.7 deploy: resources: limits: memory: 250M restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: test MYSQL_PASSWORD: test MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql volumes: wordpress: db:
启动容器,这里需要compatibility参数以兼容模式启动,否则限制配置不会生效。
docker-compose --compatibility up -d
验证
写在最后
使用下来感觉还可以,内存限制一定要大于基本的内存占用,比如我的mysql5.7内存闲时占用一般会在200MB左右,高峰时期为230MB,如果限制占用200MB则会出现问题,卡顿崩溃,限制在255MB则完全没问题。