安装环境

Docker安装

  • 具体的安装直接参考Docker官方文档即可:https://docs.docker.com/engine/install/

以centos系统为例:

1、 卸载旧版本

 sudo yum remove docker \
      docker-client \
      docker-client-latest \
      docker-common \
      docker-latest \
      docker-latest-logrotate \
      docker-logrotate \
      docker-engine

2、设置存储库

 sudo yum install -y yum-utils
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3、安装 Docker 引擎

  • 3.1 安装最新版本的 Docker Engine、containerd 和 Docker Compose
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • 3.2、启动 Docker
sudo systemctl start docker
  • 3.3 检查Docker是否安装成功
docker --version

4、设置国内镜像

这里以设置阿里云Docker镜像为例:

docker info

Docker Compose 安装

安装方式和Docker安装类似,直接参考官方地址: https://docs.docker.com/compose/install/linux/

部署acme.sh

编写docker-compose.yml

version: '3'
services:
  acme-sh:
    image: neilpang/acme.sh
    container_name: acme.sh
    restart: always
    command: daemon
    environment:
      - Ali_Key="xxxxx"
      - Ali_Secret="xxxxx"
    volumes:
      - /data/dockerdata/acme/out:/acme.sh
    network_mode: host

运行 docker-compose

docker-compose up -d

申请SSL证书

# --debug 可以去掉,我们加上能直接打印出每一步详细日志,如果出错的话可以知道在哪一步出错
# -d 后面换成你自己的域名,可以使用*号 泛指所有子域名,eg *.3658k.com
docker exec acme.sh  --issue  --dns dns_ali -d test.3658k.com -d 3658k.com --debug

设置 crontab 任务自动续签

在宿主主机的cronta,添加一条定时任务,每天让acme容器去自动检查下那些域名过期,如果过期的话,acme会自动续签,这样我们就不用担心证书过期了
crontab -e 添加一下内容

0 0 * * * docker exec acme.sh --cron

下篇

下一篇将讲解 “nginx如何配置https”,敬请期待 https://www.cnblogs.com/jesn/p/16710847.html