docker-compose 搭建部署Caddy使用


原文鏈接:https://blog.csdn.net/LZY_1993/article/details/103943065

1、創建目錄(在root目錄下)

$ mkdir -p caddy/{conf,logs,www}
$ cd caddy

目錄結構為個人習慣,可以按照自己的習慣配置,
 
2、配置Caddyfile

$ vi conf/Caddyfile
www.?????.net {
gzip
root /opt/www 
timeouts 30s
log /opt/logs/access.log 
proxy /other localhost:8080 
proxy /more localhost:8081 localhost:8082 #負載均衡
}

以上是在配置公網域名后的配置,還沒有配置域名?那直接用 IP 就行,如下

192.168.1.2:80 192.168.1.2:443 {
gzip
root /opt/www 
tls self_signed #自動簽名,很重要
timeouts 30s
log /opt/logs/access.log
proxy /other localhost:8080
}

 

相信很多人會和我一樣,caddy是在 虛擬機 上部署,但是訪問卻在物理機上,如果按照網上的一些配置文檔,隨便編寫一個域名,就會無法訪問,不在同一個環境了,物理機上輸入自定義的域名是不可能解析出ip訪問到你的虛擬機的。

3、配置docker-compose.yml

$ vi docker-compose.yml
version: '3.3'

services:
# http/2 server
caddy:
image: abiosoft/caddy:latest
container_name: caddy
hostname: caddy
domainname: caddy
restart: always
network_mode: "host"
environment:
- TZ=Asia/Shanghai
- agree
- email ?????@qq.com
volumes:
- "/root/caddy/conf/Caddyfile:/etc/Caddyfile"
- "/root/caddy/.caddy:/root/.caddy"
- "/root/caddy/logs:/opt/logs"
- "/root/caddy/www:/opt/www"
ports:
- 80:80
- 443:443

 

其中三個環境變量(environment)非常重要
 1、配置上海時區
 2、同意caddy自動配置ssl證書
 3、caddy需要的反饋郵箱 

注意,如果自定義了自己的目錄結構,這里的數據卷 volumes 下的配置也要對應你自己的目錄結構

 
4、啟動

$ docker-compose up -d
$ docker logs -f caddy # 查看日志

 

嗯?還沒有安裝 docker-compose ?

# 安裝docker-compose
$ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# 添加目錄權限
$ sudo chmod +x /usr/local/bin/docker-compose

# 驗證docker-compose安裝是否成功
$ docker-compose --version

 

5、測試
隨便復制個文件到 www 目錄下,我復制了個圖片bg.jpg,
然后輸入 https://192.168.1.2/bg.jpg

在火狐瀏覽器打開后是證書不被信任,點擊高級,繼續訪問便可
 
6、相關命令

$ docker-compose up     # 前台啟動容器,命令退出時,所有容器都將停止

$ docker-compose up -d     # 在后台啟動容器並使它們保持運行

$ docker logs -f [container_id]     # 查看某一容器的啟動的日志打印(日志從頭打印)

$ docker logs -f --tail [數量] [container_id]     # 查看某一容器的啟動的日志打印(查看最后n條日志打印)。 例:docker logs -f --tail 50 44b 

$ docker-compose stop     # 停止compose服務

$ docker-compose restart     # 重啟compose服務

$ docker-compose kill     # kill compose服務

$ docker-compose ps     #查看compose服務狀態

$ docker-compose rm     #刪除compose服務

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM