能看到这里,想必你已经知道什么是 podman 了,以及大致了解和 docker 的区别。
我自己是使用 arch linux 作为开发 OS 的,下面开始介绍下如何搭建:
我这里使用的是 podman 的 pod 来管理多个容器,其中网络是相通的,方便容器各自的访问。
1.安装 podman :paru -S podman aardvark-dns
安装完成后,根据相应的提示做一些配置
2.拉取镜像,podman 可以直接获取 docker 的镜像,当然你也可以配置:
1 | podman pull docker.io/library/nginx |
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:
1 | apiVersion: v1 |
详细配置你可能需要查询更多资料,需要保证配置文件中的路径真是存在,比如:你将 /home/tony/documents/pot/phpx/nginx/
映射到容器的 /etc/nginx/ 则需要保证你的宿主机器目录中相关的配置文件都需要存在,不然加载配置不通过。上述示例中用到的目录是 conf.d 其中的文件可有可无,可以顺畅进行,网站的配置可以放在其中。还可以加载其他配置,如:php.ini ,示例中我没有添加。
5.创建 podpodman play kube nginx-php.pod.yaml
6.启动、停止、删除:
1 | podman pod start phpx |
7.进入容器:podman exec -it phpx-mariadb bash
8.查看容器信息(ip 地址):podman inspect phpx-mariadb | grep IPAddress\":
9.查看容器日志podman logs phpx-nginx