#换国内的源,这里用网易源 RUN sed -i 's#http://deb.debian.org#https://mirrors.163.com#g' /etc/apt/sources.list RUN sed -i 's#http://security.debian.org#https://mirrors.163.com#g' /etc/apt/sources.list
#更新Docker中的apt-get RUN rm -Rf /var/lib/apt/lists/* && apt-get update
#安装Git,挂载Githooks钩子,并将产物放置在var/www/hexo中 RUN apt-get install -y git RUN git init --bare ~/blogs.git RUN mkdir -p /var/www/hexo RUN echo "git --work-tree=/var/www/hexo --git-dir=/root/blogs.git checkout -f" >~/blogs.git/hooks/post-receive RUN chmod a+x ~/blogs.git/hooks/post-receive
#SSH初始化 RUN apt-get install -y openssh-server RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -y RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -y RUN ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -y
#安装Certbot RUN apt-get install -y certbot RUN apt-get install -y python3-certbot-nginx
这里就按照提示一步一步走就是了,最后见到congratulation!就能证明证书已经安装好了,因为我们在docker run 时采用了volume方案,生成出的证书会挂载到云服务的$(pwd)/letsencrypt目录下,并关联到Docker内部的/etc/letsencrypt目录 。这样能保证镜像中不带CA证书,解耦的同时也确保Docker在迁移的时候的安全性。
listen443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/chanchun.net/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/chanchun.net/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot