Docker의 공식 Wordpress 컨테이너에서 Let 's Encrypt 사용


8

공식 Docker Wordpress 컨테이너 내부 에서 Let 's Encrypt를 얻으려고합니다 .

환경 설정

$ cat docker-compose.yml
wordpress:
  hostname: some.fqdn.com
  image: wordpress
  links:
    - db:mysql
  ports:
    - 80:80
    - 443:443

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: example

$ docker-compose -f docker-compose.yml up -d
$ docker exec -ti root_wordpress_1 bash

암호화하자 설치

$ apt-get update && apt-get install -y git-core
[...]
$ cd /usr/local
$ git clone https://github.com/letsencrypt/letsencrypt
[...] 
$ cd letsencrypt/
$ ./letsencrypt-auto --apache
Checking for new version...
Requesting root privileges to run letsencrypt...
   /root/.local/share/letsencrypt/bin/letsencrypt --apache
An unexpected error occurred:
PythonDialogBug
Please see the logfiles in /var/log/letsencrypt for more details.

더 많은 로그

$ cat /var/log/letsencrypt/letsencrypt.log
2016-03-04 15:28:41,551:DEBUG:letsencrypt.cli:Root logging level set at 30
2016-03-04 15:28:41,553:INFO:letsencrypt.cli:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2016-03-04 15:28:41,554:DEBUG:letsencrypt.cli:letsencrypt version: 0.4.2
2016-03-04 15:28:41,554:DEBUG:letsencrypt.cli:Arguments: ['--apache']
2016-03-04 15:28:41,555:DEBUG:letsencrypt.cli:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#webroot,PluginEntryPoint#null,PluginEntryPoint#manual,PluginEntryPoint#standalone)
2016-03-04 15:28:41,559:DEBUG:letsencrypt.cli:Requested authenticator apache and installer apache
2016-03-04 15:28:42,166:DEBUG:letsencrypt.display.ops:Single candidate plugin: * apache
Description: Apache Web Server - Alpha
Interfaces: IAuthenticator, IInstaller, IPlugin
Entry point: apache = letsencrypt_apache.configurator:ApacheConfigurator
Initialized: <letsencrypt_apache.configurator.ApacheConfigurator object at 0x7fd05eb85310>
Prep: True
2016-03-04 15:28:42,168:DEBUG:letsencrypt.cli:Selected authenticator <letsencrypt_apache.configurator.ApacheConfigurator object at 0x7fd05eb85310> and installer <letsencrypt_apache.configurator.ApacheConfigurator object at 0x7fd05eb85310>
2016-03-04 15:28:42,178:DEBUG:letsencrypt.cli:Exiting abnormally:
Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in <module>
    sys.exit(main())
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 1993, in main
    return config.func(config, plugins)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 658, in run
    domains = _find_domains(config, installer)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 133, in _find_domains
    domains = display_ops.choose_names(installer)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/display/ops.py", line 217, in choose_names
    default=True)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/display/util.py", line 156, in yesno
    yes_label=yes_label, no_label=no_label)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/dialog.py", line 3749, in yesno
    kwargs)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/dialog.py", line 1765, in _widget_with_no_output
    widget_name, output))
PythonDialogBug

여기에 단서가 있습니까?

Let 's Encrypt를 자동으로 추가하는 공식 Wordpress 이미지 위에 이미지를 만들고 싶습니다.

답변:


4

나는 TERM클라이언트가 일부 터미널 사용자 인터페이스를 사용하기 때문에 이것이 문제 일 수 있다고 생각 하지만 여기에 이미지 설명을 입력하십시오,로
수정 한 후에도 export TERM=xtermletsencrypt 클라이언트가 아파치를 다시 시작하고 워드 프레스 컨테이너가 즉시 종료되면 아파치 다시 시작 문제가 발생합니다. 대답 덕분에 고정 표시기 컨테이너를 실행할 때 자동으로 서비스를 시작하는 방법? 꼬리 접근 방식으로 사용자 정의 WordPress 이미지 에서이 문제를 극복했습니다 . 스크린 샷에서 볼 수 있듯이 더 많은 아이디어를 찾을 수 있습니다.))

최신 정보

다음 단계는 대화 상자의 선 문제를 해결하는 데 도움이됩니다 (이전에 적용됨 export TERM=xterm).

apt-get install locales
locale-gen "en_US.UTF-8"
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
export LC_ALL="en_US.UTF-8"
export NCURSES_NO_UTF8_ACS=1

여기에 이미지 설명을 입력하십시오

다른 두 가지 모드로 클라이언트를 실행할 수도 있습니다

  • -t 텍스트 UI 모드
  • -n, --non-interactive, --noninteractive 지금까지 사용자 입력을 요청하지 않고 실행합니다. 추가 명령 행 플래그가 필요할 수 있습니다. 클라이언트는 누락 된 것을 발견하면 필요한 것을 설명하려고 시도합니다.

실제로, -t텍스트 모드에 옵션 을 사용하는 것이 좋습니다 . 예 : ./letsencrypt-auto --apache -m youremail@domain.com --agree-tos --redirect -t
vitr

0

TERM 또는 'dialog'소프트웨어에 문제가있을 수 있습니다. 대화 상자를 찾아서 업데이트하십시오. 새 버전의 대화 상자를 설치하고 / usr / local / bin / dialog (ln -s ...)로 / usr / bin / dialog를 대체했습니다.


당신의 제거 관리해야 qqqqqq하고 x(대신 일반 라인)?
vitr

@vitr, 다른 / 올바른 TERM 변수를 설정하십시오.
Vyacheslav

TERM=xterm작품
vitr April
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.