发布于 2023/10/13更新于 2026/9/216 分钟#技术

使用 podman 来搭建 lnmp 开发环境

能看到这里,想必你已经知道什么是 podman 了,以及大致了解和 docker 的区别。

我自己是使用 arch linux 作为开发 OS 的,下面开始介绍下如何搭建:

我这里使用的是 podman 的 pod 来管理多个容器,其中网络是相通的,方便容器各自的访问。

  1. 安装 podman : paru -S podman aardvark-dns 安装完成后,根据相应的提示做一些配置
  2. 拉取镜像,podman 可以直接获取 docker 的镜像,当然你也可以配置:
podman pull docker.io/library/nginx
podman pull docker.io/library/mariadb
podman pull docker.io/bitnami/php-fpm

3.普通用户不能创建端口号低于 1024 的容器映射,不使用 sudo 的话,需要编辑内核参数: sudo vim /etc/sysctl.d/podman.conf

添加: net.ipv4.ip_unprivileged_port_start = 80

修改文件权限: sudo chmod 644 /etc/sysctl.d/podman.conf

使用 sudo sysctl --system 来重新加载配置

4.编辑 pod 配置文件:nginx-php.pod.yaml:

apiVersion: v1
kind: Pod
metadata:
  name: phpx
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80
    volumeMounts:
    - name: nginx-conf
      mountPath: /etc/nginx/conf.d/
    - name: php-files
      mountPath: /var/www/php/
  - name: php-fpm
    image: php-fpm:latest
    volumeMounts:
    - name: php-files
      mountPath: /var/www/php/
  - name: mariadb
    image: mariadb:latest
    env:
    - name: MYSQL_ROOT_PASSWORD
      value: root
    # - name: MYSQL_DATABASE
      # value: your_database_name
    # - name: MYSQL_USER
      # value: your_mysql_username
    # - name: MYSQL_PASSWORD
      # value: your_mysql_password
  volumes:
  - name: nginx-conf
    hostPath:
      path: /home/tony/documents/pot/phpx/conf.d/
      type: File
  - name: php-files
    hostPath:
      path: /home/tony/documents/pot/phpx/src/
      type: Directory

详细配置你可能需要查询更多资料,需要保证配置文件中的路径真是存在,比如:你将 /home/tony/documents/pot/phpx/nginx/ 映射到容器的 /etc/nginx/ 则需要保证你的宿主机器目录中相关的配置文件都需要存在,不然加载配置不通过。

上述示例中用到的目录是 conf.d 其中的文件可有可无,可以顺畅进行,网站的配置可以放在其中。还可以加载其他配置,如:php.ini ,示例中我没有添加。

5.创建 pod podman play kube nginx-php.pod.yaml

6.启动、停止、删除:

podman pod start phpx
podman pod stop phpx
podman pod rm php

7.进入容器: podman exec -it phpx-mariadb bash

8.查看容器信息(ip 地址): podman inspect phpx-mariadb | grep IPAddress\":

9.查看容器日志 podman logs phpx-nginx

评论区

0 条主评论
评论加载中
© 2013-2026 vioulo. All rights reserved.