podman搭建nginx服务
- [0. 如果拉取的比较慢,配置下podman的如下文件,没有的话就生成一个](#0. 如果拉取的比较慢,配置下podman的如下文件,没有的话就生成一个)
- [1. 拉取nginx镜像](#1. 拉取nginx镜像)
- [2. 创建宿主机目录结构(统一放在 ~/nginxdata 下,方便管理)](#2. 创建宿主机目录结构(统一放在 ~/nginxdata 下,方便管理))
- [3. 先启动一个不挂在本地目录的容器,将配置的模板拷贝一份出来](#3. 先启动一个不挂在本地目录的容器,将配置的模板拷贝一份出来)
- [4. 拷贝后然后停止这个容器](#4. 拷贝后然后停止这个容器)
- [5. 一键启动 Nginx 并挂载目录(核心命令)](#5. 一键启动 Nginx 并挂载目录(核心命令))

0. 如果拉取的比较慢,配置下podman的如下文件,没有的话就生成一个
/etc/containers/registries.conf.d/999-podman-machine.conf
bash
unqualified-search-registries = ["docker.io"]
[[registry]]
prefix = "docker.io"
location = "docker.1ms.run"
[[registry]]
prefix = "docker.io"
location = "hub.rat.dev"
[[registry]]
prefix = "docker.io"
location = "docker.xuanyuan.me"
[[registry]]
prefix = "docker.io"
location = "docker.1panel.live"
[[registry]]
prefix = "docker.io"
location = "registry.cn-hangzhou.aliyuncs.com" # 替换为你的阿里云加速器地址
1. 拉取nginx镜像
bash
podman pull nginx

2. 创建宿主机目录结构(统一放在 ~/nginxdata 下,方便管理)
bash
mkdir -p ~/nginxdata/{conf,html,logs}
3. 先启动一个不挂在本地目录的容器,将配置的模板拷贝一份出来
bash
# 运行容器
podman run -d --name nginx3 --restart always -p 80:80 docker.io/library/nginx:latest
# 将配置拷贝出来
cd ~/nginxdata/conf
podman cp nginx3:/etc/nginx/nginx.conf .
podman cp nginx3:/etc/nginx/conf.d .
podman cp nginx3:/etc/nginx/mime.types .
4. 拷贝后然后停止这个容器
bash
podman stop nginx3
5. 一键启动 Nginx 并挂载目录(核心命令)
bash
# 创建一个新的容器,端口80,配置等放在宿主机上,注意需要加--privileged,不然有可能启动后,会报配置文件找不到等问题
podman run -d \
--name nginx \
--restart always \
--privileged \
-p 80:80 \
-v ~/nginxdata/conf:/etc/nginx:Z \
-v ~/nginxdata/html:/usr/share/nginx/html:Z \
-v ~/nginxdata/logs:/var/log/nginx:Z \
docker.io/library/nginx:latest
