云原生之使用Docker部署caddy网站服务器

简介: 云原生之使用Docker部署caddy网站服务器

一、Caddy介绍

Caddy是一个Go语言编写的开源web服务器,同时也是具有自动HTTPS的快速且可扩展的多平台 HTTP/1-2-3 Web 服务器。

二、检查本地环境

1.检查系统版本

[root@jeven ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"


2.检查docker状态

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-12-02 04:34:05 CST; 2 days ago
     Docs: https://docs.docker.com
 Main PID: 10004 (dockerd)
    Tasks: 114
   Memory: 2.2G
   CGroup: /system.slice/docker.service
           ├─10004 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock


三、下载caddy镜像

[root@jeven ~]# docker pull caddy
Using default tag: latest
latest: Pulling from library/caddy
97518928ae5f: Already exists 
23ccae726125: Pull complete 
3de6a61c89ac: Pull complete 
39ed957bdc00: Pull complete 
0ae44c2d42dd: Pull complete 
Digest: sha256:9e28571098b64a89019e3698b332f44955202fd53df5227f58a68fb395e80880
Status: Downloaded newer image for caddy:latest
docker.io/library/caddy:latest

四、部署caddy应用

1.创建数据目录

[root@jeven ~]# mkdir /data/caddy
[root@jeven ~]# cd /data/

2.新建测试网页文件

[root@jeven caddy]# echo " caddy website --- myweb" >> index.html
[root@jeven caddy]# 

3.创建caddy容器

docker run -d -p 8266:80 \
    -v $PWD/index.html:/usr/share/caddy/index.html \
    -v  /data/caddy/data:/data \
    caddy

4.查看caddy容器状态

[root@jeven caddy]# docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS                PORTS                                                                          NAMES
b12f803a11a5   caddy                                 "caddy run --config …"   25 seconds ago   Up 23 seconds         443/tcp, 2019/tcp, 0.0.0.0:8266->80/tcp, :::8266->80/tcp                       ecstatic_wilbur

5.查看caddy容器运行日志

[root@jeven caddy]# docker logs ecstatic_wilbur 
{"level":"info","ts":1670167084.1306765,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
{"level":"info","ts":1670167084.132184,"logger":"admin","msg":"admin endpoint started","address":"tcp/localhost:2019","enforce_origin":false,"origins":["localhost:2019","[::1]:2019","127.0.0.1:2019"]}
{"level":"info","ts":1670167084.1322808,"logger":"http","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv0","http_port":80}
{"level":"info","ts":1670167084.1325452,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1670167084.1325657,"msg":"serving initial configuration"}
{"level":"info","ts":1670167084.1327555,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/data/caddy"}
{"level":"info","ts":1670167084.1327794,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"info","ts":1670167084.1328008,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0001cb1f0"}

五、访问caddy应用

image.png

相关文章
|
5月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
2213 4
|
5月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
260 5
|
6月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
545 12
docker 部署 sftp
|
6月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
1994 6
|
5月前
|
自然语言处理 监控 数据可视化
如何建设网站:使用阿里云的服务器网站建设5大步骤
企业用阿里云服务器建网站,无需复杂技术,按五步骤即可。先规划需求明确网站功能;再选入门级服务器并初始化;接着部署 PageAdmin CMS,可视化操作易上手;然后选模板填内容搭建网站;最后测试适配与稳定性,绑定域名备案后上线。PageAdmin 还方便后期维护调整。
670 10
|
5月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1612 8
|
5月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
4047 8
|
5月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
517 2
|
5月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
833 4

热门文章

最新文章