以下是Ubuntu系统下spool相关的容器化部署方案,需根据具体spool类型(如打印队列、邮件队列等)选择适配方案:
sudo apt update && sudo apt install docker.io
sudo systemctl start docker && sudo systemctl enable docker
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker run -d --name cups-server \
-p 631:631 \ # CUPS默认管理端口
-v /var/spool/cups:/var/spool/cups \ # 持久化打印队列数据
-v /etc/cups:/etc/cups \ # 持久化配置文件
cups
docker-compose.yml:version: '3'
services:
cups:
image: cups
ports:
- "631:631"
volumes:
- ./cups_data:/var/spool/cups
- ./cups_config:/etc/cups
restart: always
启动服务:docker-compose up -d
http://localhost:631,使用默认用户名/密码admin登录(首次登录需修改密码)。docker run -d --name postfix-server \
-p 25:25 \ # SMTP默认端口
-v /var/spool/postfix:/var/spool/postfix \ # 持久化邮件队列
-v /etc/postfix:/etc/postfix \ # 持久化配置文件
postfix
docker-compose.yml:version: '3'
services:
postfix:
image: postfix
ports:
- "25:25"
volumes:
- ./postfix_data:/var/spool/postfix
- ./postfix_config:/etc/postfix
restart: always
启动服务:docker-compose up -d
telnet或邮件客户端连接localhost:25,验证邮件队列是否正常处理。-v参数挂载宿主机目录到容器内,确保队列数据不丢失(如/var/spool/cups、/var/spool/postfix)。/etc/cups、/etc/postfix)也挂载为卷,方便修改配置。chown命令提前设置(如sudo chown -R 1000:1000 /path/to/spool)。根据实际需求选择方案,优先使用官方镜像并遵循最小权限原则,确保容器化部署的安全性和稳定性。