Docker Swarm Volume 问题记录
Docker Swarm 或者 Docker Compose 部署的容器有个问题,如果你使用的是 Docker 自动创建的 Volume ,也就是这种方式
version: '3'
services:
caddy:
image: jayfong/caddy-dnspod
environment:
volumes:
# Caddy 自动生成的 SSL 证书
- certs:/caddy/certs
ports:
- 2015:2015
restart: unless-stopped
volumes:
certs:
这个 Volume 最终的名字是 caddy-home_cert
,因为我指定的 docker stack 名字为 caddy-home, 如果你下次更新,就必须要指定一样的名字,不然是不能到达一样的文件目录的。如果确实不能弄成一样的名字,又不想挪动文件,其实还是有办法的,可以尝试这样写
volumes:
certs:
external: true
这样 docker
就不会尝试创建 certs
了 ,但是注意的是,这个东西需要提前创建好,不然是会服务部署失败的