在 Ubuntu 下通过 Docker 部署 Caddy 服务器

在这篇博客中,我将记录在 Ubuntu 系统中通过 Docker 部署 Caddy 服务器。首先,我们来简单了解一下 Docker 和 Caddy。

Docker 与 Caddy 简介

Docker 是一个开源的容器化平台,允许开发者打包应用及其依赖到一个轻量级的容器中,从而确保在任何环境中都能一致地运行。通过 Docker,我们可以快速部署和管理应用,无需担心环境差异。

Caddy 是一个现代化的网页服务器,它以其易用性和自动化功能而闻名。Caddy 默认支持 HTTPS,意味着你可以轻松地为你的站点启用安全连接。它的配置方式简单明了,非常适合快速搭建和修改网站。

本次实验环境

鉴于最近买了adobe的全局管理员和G-suite全局管理员,实在囊中羞涩,所以这次部署使用的是阿贝云的免费服务器,配置为 1 核心、1GB 内存和 5M 带宽。能够满足基本的测试需求。

在 Ubuntu 上通过 Docker 部署 Caddy 服务器

接下来,我们将详细介绍如何在 Ubuntu 上使用 Docker 部署 Caddy 服务器。以下是每一步的具体命令和配置文件设置。

步骤 1:安装 Docker

首先,确保你的系统是最新的,然后安装 Docker。

复制代码
sudo apt update
sudo apt install -y docker.io

步骤 2:启动 Docker 服务

安装完成后,启动 Docker 服务并设置其开机自启。

复制代码
sudo systemctl start docker
sudo systemctl enable docker

步骤 3:拉取 Caddy 镜像

接下来,我们需要拉取 Caddy 的官方 Docker 镜像。

复制代码
sudo docker pull caddy

步骤 4:创建 Caddyfile

在 Caddy 的配置中,我们需要创建一个 Caddyfile。在你的主目录下创建一个新的文件夹,并添加 Caddyfile

复制代码
mkdir ~/caddy
nano ~/caddy/Caddyfile

Caddyfile 中添加以下内容:

复制代码
http://your-domain.com {
    root * /usr/share/caddy
    file_server
}

请将 your-domain.com 替换为你的域名。

步骤 5:运行 Caddy 容器

最后,使用以下命令运行 Caddy 容器,挂载你的 Caddyfile

复制代码
sudo docker run -d \
    --name caddy \
    -p 80:80 \
    -v ~/caddy/Caddyfile:/etc/caddy/Caddyfile \
    caddy

参数解释

  • -d:表示容器在后台运行。
  • --name caddy:为容器指定一个名字。
  • -p 80:80:将主机的 80 端口映射到容器的 80 端口。
  • -v ~/caddy/Caddyfile:/etc/caddy/Caddyfile:将主机的 Caddyfile 挂载到容器中。

完成部署

现在,你的 Caddy 服务器已经在 Docker 中成功部署。你可以通过访问配置的域名来查看效果。

希望这个教程能够帮助你顺利在 Ubuntu 上通过 Docker 部署 Caddy 服务器!如果有任何问题,欢迎留言讨论。

相关推荐
吳所畏惧几秒前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈4 分钟前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
维天说1 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的阿森1 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
吠品2 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
重生的黑客3 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
风曦Kisaki4 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
骑上单车去旅行4 小时前
MD5校验对比脚本
linux·服务器·windows