Podman 内存锁限制
Podman memlock limits
我正在评估 Fedora Silverblue 作为我的主要开发 OS,我将与其他使用 MacOS 或其他 Linux 发行版的开发人员一起使用它。我需要使用 Docker 个容器。
Fedora 附带 Podman 作为管理容器的无根替代方案,它应该具有与 docker 完全相同的界面,因此 alias docker=podman
应该可以工作。
我还安装了 podman-compose
以获得 docker-compose
体验,一切都很好,但我正在努力使用以下配置来设置 ELK 堆栈:
version: '3.3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
container_name: elasticsearch
ports:
- 9200:9200
environment:
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
networks:
- elastic
kibana:
image: docker.elastic.co/kibana/kibana:7.7.0
container_name: kibana
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
networks:
- elastic
networks:
elastic:
driver: bridge
虽然这适用于 Docker,但由于以下配置,它不适用于 Podman:
ulimits:
memlock:
soft: -1
hard: -1
我知道这适用于 Docker 因为它 运行 具有高权限并且可以将这些限制设置为无限制但是因为 Podman 是无根的并且我 运行 Silverblue 这些限制不能提出。
我搜索过如何使用 Podman、Silverblue 增加 ulimit,但没有找到。
是否有任何方法可以通过 Silverblue 上的 Podman 增加这些限制并使此类 docker-compose
设置适用于我的系统?
如果您 运行 Podman 是无根用户,则不允许将 ulimit 设置为高于当前会话的值。
如果您需要设置更高的 ulimit,您需要允许您的用户拥有它(调整 /etc/security/limits.conf)或者您 运行 容器作为 root。
我正在评估 Fedora Silverblue 作为我的主要开发 OS,我将与其他使用 MacOS 或其他 Linux 发行版的开发人员一起使用它。我需要使用 Docker 个容器。
Fedora 附带 Podman 作为管理容器的无根替代方案,它应该具有与 docker 完全相同的界面,因此 alias docker=podman
应该可以工作。
我还安装了 podman-compose
以获得 docker-compose
体验,一切都很好,但我正在努力使用以下配置来设置 ELK 堆栈:
version: '3.3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
container_name: elasticsearch
ports:
- 9200:9200
environment:
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
networks:
- elastic
kibana:
image: docker.elastic.co/kibana/kibana:7.7.0
container_name: kibana
ports:
- 5601:5601
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
networks:
- elastic
networks:
elastic:
driver: bridge
虽然这适用于 Docker,但由于以下配置,它不适用于 Podman:
ulimits:
memlock:
soft: -1
hard: -1
我知道这适用于 Docker 因为它 运行 具有高权限并且可以将这些限制设置为无限制但是因为 Podman 是无根的并且我 运行 Silverblue 这些限制不能提出。
我搜索过如何使用 Podman、Silverblue 增加 ulimit,但没有找到。
是否有任何方法可以通过 Silverblue 上的 Podman 增加这些限制并使此类 docker-compose
设置适用于我的系统?
如果您 运行 Podman 是无根用户,则不允许将 ulimit 设置为高于当前会话的值。
如果您需要设置更高的 ulimit,您需要允许您的用户拥有它(调整 /etc/security/limits.conf)或者您 运行 容器作为 root。