Sử dụng Let Encrypt bên trong container Wordpress chính thức của Docker


8

Tôi đang cố gắng để Let Encrypt bên trong container Docker Wordpress chính thức.

Thiết lập môi trường

$ 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

Cài đặt Let Encrypt

$ 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.

Thêm nhật ký

$ 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

Bất cứ ai có bất kỳ manh mối ở đây?

Tôi muốn xây dựng một hình ảnh trên đầu của hình ảnh Wordpress chính thức tự động thêm Encrypt.

Câu trả lời:


4

Tôi tin rằng đây có thể là vấn đề TERM, bởi vì máy khách sử dụng một số giao diện người dùng đầu cuối nhập mô tả hình ảnh ở đây,
nhưng ngay cả sau khi sửa lỗi này export TERM=xterm, bạn sẽ gặp sự cố với khởi động lại apache, khi máy khách letencrypt khởi động lại apache và bộ chứa wordpress đã bị giết ngay lập tức. Nhờ câu trả lời Làm thế nào để tự động khởi động dịch vụ khi chạy container docker? Tôi đã khắc phục điều này trong hình ảnh WordPress tùy chỉnh của mình bằng cách tiếp cận đuôi, bạn có thể xem thêm ý tưởng ở đó, như bạn có thể thấy từ ảnh chụp màn hình, nó hoạt động))

cập nhật

các bước sau đây giúp khắc phục sự cố với các dòng trong hộp thoại (ngoài việc áp dụng trước đó 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

nhập mô tả hình ảnh ở đây

Bạn cũng có thể chạy ứng dụng khách ở 2 chế độ khác

  • -t chế độ giao diện người dùng văn bản
  • -n, --non-interactive, --noninteractive Chạy mà không bao giờ yêu cầu người dùng nhập vào. Điều này có thể yêu cầu cờ dòng lệnh bổ sung; khách hàng sẽ cố gắng giải thích những cái nào là bắt buộc nếu nó tìm thấy một cái bị thiếu

trên thực tế, nó là tốt hơn để sử dụng -ttùy chọn cho chế độ văn bản, ví dụ: ./letsencrypt-auto --apache -m youremail@domain.com --agree-tos --redirect -t
vitr

0

Nó có thể là vấn đề với TERM hoặc với phần mềm 'hộp thoại'. Cố gắng tìm nó (hộp thoại nào) và cập nhật nó. Tôi đã cài đặt một phiên bản mới của hộp thoại và đặt lại / usr / bin / hộp thoại với / usr / local / bin / hộp thoại (ln -s ...)


bạn đã xoay sở để thoát khỏi qqqqqqx(thay vì các dòng bình thường)?
vitr

@vitr, hãy thử thiết lập biến TATE khác nhau / chính xác.
Vyacheslav

TERM=xtermhoạt động
vitr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.