在 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 服务器!如果有任何问题,欢迎留言讨论。

相关推荐
巴渝小禹1 小时前
【Ubuntu】虚拟机 Ubuntu 挂载 宿主机 Windows文件夹
linux·ubuntu
wanhengidc1 小时前
云手机存在的意义是什么
运维·服务器·arm开发·安全·智能手机
Wang's Blog4 小时前
Nestjs框架: 微服务容器化部署与网络通信解决方案
docker·微服务·云原生·架构·nestjs
脚踏实地的大梦想家4 小时前
【Docker】P2 Docker 命令:从Nginx部署到镜像分享的全流程指南
java·nginx·docker
报错小能手4 小时前
计算机网络自顶向下方法25——运输层 TCP流量控制 连接管理 “四次挥手”的优化
服务器·网络·计算机网络
郭源潮14 小时前
《Muduo网络库:实现TcpServer类终章》
服务器·网络·c++·网络库
半夏知半秋6 小时前
mongodb的复制集整理
服务器·开发语言·数据库·后端·学习·mongodb
极限实验室6 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
docker·devops
The Chosen One9856 小时前
【Linux】Linux权限讲解 :写给文件的一封情书
linux·运维·服务器
天地之于壹炁兮7 小时前
Docker革命:软件开发的集装箱时代
docker·容器·eureka