我正在评估 Fedora Silverblue 作为我的主要开发操作系统,我将与其他将使用 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 但不能。
是否有任何方法可以通过 Podman on Silverblue 增加这些限制并使此类docker-compose
设置适用于我的系统?