让加密初始化脚本找不到Docker容器

时间:2019-08-13 15:57:51

标签: docker nginx docker-compose lets-encrypt

我在bash中有一个初始化脚本,用于在启动时将虚拟密钥放入Nginx容器中,因此在docker compose启动我的所有容器时,它不会退出并显示错误代码。虽然,初始化脚本似乎找不到我的Docker容器。我的Docker容器称为import numpy as np from scipy.integrate import odeint class vars: def __init__(self, *args): (self.n, self.c1) = args def kinetics(y,t,b1,b2): v = vars(*y) dydt=[ (b1 * v.n) + (b2 * v.c1), (b1 * v.n) - (v.c1) ] return dydt b1=0.00662888 b2=0.000239997 n0=1 c1_0=1 y0=[n0,c1_0] t = np.linspace(0, 10, 10) sol = odeint(kinetics, y0, t, args=(b1,b2)) print(sol) 。显然,在运行此初始化脚本之前,我首先构建了容器。

脚本:

proj_1_nginx

这是docker-compose

path="/etc/letsencrypt/live/$domains"
mkdir -p "$data_path/conf/live/$domains"
docker-compose run --rm --entrypoint "\
  openssl req -x509 -nodes -newkey rsa:1024 -days 1\
    -keyout '$path/privkey.pem' \
    -out '$path/fullchain.pem' \
    -subj '/CN=localhost'" certbot
echo


docker-compose up --force-recreate -d proj_1_nginx
echo

docker-compose run --rm --entrypoint "\
  rm -Rf /etc/letsencrypt/live/$domains && \
  rm -Rf /etc/letsencrypt/archive/$domains && \
  rm -Rf /etc/letsencrypt/renewal/$domains.conf" certbot
echo


#Join $domains to -d args
domain_args=""
for domain in "${domains[@]}"; do
  domain_args="$domain_args -d $domain"
done

case "$email" in
  "") email_arg="--register-unsafely-without-email" ;;
  *) email_arg="--email $email" ;;
esac

if [ $staging != "0" ]; then staging_arg="--staging"; fi

docker-compose run --rm --entrypoint "\
  certbot certonly --webroot -w /var/www/certbot \
    $staging_arg \
    $email_arg \
    $domain_args \
    --rsa-key-size $rsa_key_size \
    --agree-tos \
    --force-renewal" certbot
echo

docker-compose exec proj_1_nginx proj_1_nginx -s reload

如果这是一个不好的方法,我完全愿意接受新的建议。谢谢大家。

p.s-我也可以运行docker-compose run,然后将显示容器,但脚本仍然无法提取。

0 个答案:

没有答案