缺少环境变量nginx容器

时间:2016-06-15 09:00:11

标签: nginx lets-encrypt cookiecutter-django

我正在尝试评估cookiecutter-django,到目前为止它是启动项目的一个很好的工具。一切顺利,除非我尝试使用带有certbot的docker,我有这个错误。

nginx_1         | 2016/06/15 07:55:36 [emerg] 1#1: invalid port in upstream "___LETSENCRYPT_IP___:___LETSENCRYPT_PORT___" in /etc/nginx/nginx.conf:42

start.sh包含

sed -i "s/___LETSENCRYPT_IP___/$LETSENCRYPT_PORT_80_TCP_ADDR/g" /etc/nginx/nginx.conf
sed -i "s/___LETSENCRYPT_PORT___/$LETSENCRYPT_PORT_80_TCP_PORT/g" /etc/nginx/nginx.conf

我不是这里的大师,但我可以看到脚本引用了环境变量,但当我试图检查nginx容器中的环境变量时,我没有看到任何与letsencrypt相关的内容

[root@localhost]# docker-compose run nginx bash
Starting tbpcsuite_certbot_1
Starting tbpcsuite_postgres_1
Starting tbpcsuite_redis_1
Starting tbpcsuite_django_1
root@b7d12c245b86:/# set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="30" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.3.30(1)-release'
COLUMNS=197
DIRSTACK=()
EUID=0
GROUPS=()
HISTFILE=/root/.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/root
HOSTNAME=b7d12c245b86
HOSTTYPE=x86_64
IFS=$' \t\n'
LINES=73
MACHTYPE=x86_64-pc-linux-gnu
MAILCHECK=60
MY_DOMAIN_NAME=www.192.168.33.10.xip.io
NGINX_VERSION=1.11.1-1~jessie
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPESTATUS=([0]="1")
PPID=0
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS2='> '
PS4='+ '
PWD=/
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=1
TERM=xterm
UID=0
_=']'

我迷失了,我会欣赏任何指导。

谢谢,

1 个答案:

答案 0 :(得分:1)

看起来您可能正在使用dockers new networking,它会弃用链接容器的环境变量。 Environment variables will only be populated if you’re using the legacy version 1 Compose file format.

我能够通过改变来使我的工作:

  • ___LETSENCRYPT_IP___certbot
  • ___LETSENCRYPT_PORT___80
  • ___LETSENCRYPT_HTTPS_IP___certbot
  • ___LETSENCRYPT_HTTPS_PORT___443

在nginx.conf和nginx-secure.conf中。

在cookiecutter-django repo中有关于此的讨论和公开拉取请求也可能有更多信息。