Ubuntu 24.04
Sponsored Link

Podman : Systemd यूनिट फ़ाइल जनरेट करें2024/05/05

 
Systemd यूनिट फ़ाइल जेनरेट करना और कंटेनरों के लिए ऑटो-स्टार्टिंग सेट करना संभव है।
[1] Quadlet का उपयोग करके कंटेनर सेवा कॉन्फ़िगर करें।
root@dlp:~#
podman images

REPOSITORY                 TAG              IMAGE ID      CREATED       SIZE
localhost/podman-pause     4.9.3-0          070ddb5147bc  2 hours ago   835 kB
srv.world/iproute          latest           4ef0738fb3ef  3 hours ago   123 MB
srv.world/ubuntu-nginx     latest           1b1a4d3f4f26  5 hours ago   125 MB
srv.world/ubuntu-apache2   latest           38d508336863  6 hours ago   226 MB
dlp.srv.world:5000/ubuntu  my-registry      bf3dc08bfed0  5 days ago    78.7 MB
docker.io/library/ubuntu   latest           bf3dc08bfed0  5 days ago    78.7 MB
docker.io/moby/buildkit    buildx-stable-1  1a21071780b0  9 days ago    199 MB
docker.io/library/mariadb  latest           465bc4da7f09  2 months ago  411 MB

# फ़ाइल का नाम ⇒ (कोई भी नाम).container

root@dlp:~#
vi /etc/containers/systemd/ubuntu-nginx.container
[Unit]
Description=Nginx container
After=local-fs.target

[Container]
# कोई भी नाम
ContainerName=ubuntu-nginx
# उपयोग की जाने वाली कंटेनर छवि
Image=srv.world/ubuntu-nginx
# पत्तन
PublishPort=80:80

[Service]
Restart=always

[Install]
WantedBy=multi-user.target default.target

# नीचे apparmor प्रोफ़ाइल अक्षम करें

root@dlp:~#
apparmor_parser -R /etc/apparmor.d/podman

root@dlp:~#
apparmor_parser -R /etc/apparmor.d/crun

root@dlp:~#
ln -s /etc/apparmor.d/podman /etc/apparmor.d/disable/

root@dlp:~#
ln -s /etc/apparmor.d/crun /etc/apparmor.d/disable/
root@dlp:~#
systemctl daemon-reload

root@dlp:~#
systemctl start ubuntu-nginx.service
[2] Quadlet का उपयोग करके पॉड सेवा कॉन्फ़िगर करें।
root@dlp:~#
podman images

REPOSITORY                 TAG              IMAGE ID      CREATED       SIZE
localhost/podman-pause     4.9.3-0          070ddb5147bc  4 hours ago   835 kB
srv.world/iproute          latest           4ef0738fb3ef  5 hours ago   123 MB
srv.world/ubuntu-nginx     latest           1b1a4d3f4f26  8 hours ago   125 MB
srv.world/ubuntu-apache2   latest           38d508336863  8 hours ago   226 MB
dlp.srv.world:5000/ubuntu  my-registry      bf3dc08bfed0  5 days ago    78.7 MB
docker.io/library/ubuntu   latest           bf3dc08bfed0  5 days ago    78.7 MB
docker.io/moby/buildkit    buildx-stable-1  1a21071780b0  9 days ago    199 MB
docker.io/library/mariadb  latest           465bc4da7f09  2 months ago  411 MB

# पॉड कॉन्फ़िगरेशन फ़ाइल बनाएं
# प्रारूप Kubernetes के समान है

root@dlp:~#
vi /etc/containers/systemd/nginx-pod.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-pod
  labels:
    name: nginx-pod
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-pod
  template:
    metadata:
      labels:
        app: nginx-pod
    spec:
      containers:
      - name: nginx-pod
        image: ubuntu-nginx
        ports:
          - name: web
            containerPort: 80

# फ़ाइल का नाम ⇒ (कोई भी नाम).kube

root@dlp:~#
vi /etc/containers/systemd/nginx-pod.kube
[Unit]
Description=Web service pod
After=local-fs.target

[Kube]
Yaml=/etc/containers/systemd/nginx-pod.yml
PublishPort=80:80

[Service]
Restart=always

[Install]
WantedBy=multi-user.target default.target

root@dlp:~#
systemctl daemon-reload

root@dlp:~#
systemctl start nginx-pod.service
root@dlp:~#
podman pod ls

POD ID        NAME           STATUS      CREATED         INFRA ID      # OF CONTAINERS
ad84c14026cc  nginx-pod-pod  Running     12 seconds ago  502dbb5b0814  2
मिलान सामग्री