私はメインの開発 OS として 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 は高い特権で実行され、これらの制限を無制限に設定できるため、これが Docker で機能することは理解していますが、Podman はルートレスであり、Silverblue を実行しているため、これらの制限を引き上げることはできません。
Podman、Silverblue で ulimit を増やす方法を検索しましたが、できませんでした。
Silverblue の Podman でこれらの制限を増やし、そのようなdocker-compose
セットアップをシステムで機能させる方法はありますか?