Question Utilisation de Let's Encrypt dans le conteneur Wordpress officiel de Docker


J'essaie de faire chiffrer à l'intérieur le conteneur officiel de Docker Wordpress.

Configurer l'environnement

$ 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

Installer Let's 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.

Plus de journaux

$ 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

Quelqu'un a des indices ici?

Je souhaite créer une image au-dessus de l'image officielle de Wordpress, qui ajoute automatiquement Let's Encrypt.


8
2018-03-04 15:44


origine




Réponses:


Je crois que cela pourrait être le problème avec TERM, car le client utilise une interface utilisateur de terminalenter image description here,
mais même après avoir résolu ce problème avec export TERM=xterm, vous rencontrerez le problème avec le redémarrage d’apache, lorsque le client letsencrypt relancera apache et que le conteneur wordpress a été tué immédiatement. Merci à la réponse Comment démarrer automatiquement un service lors de l'exécution d'un conteneur Docker? J'ai surmonté cela dans mon image WordPress personnalisée avec l’approche de la queue, vous pouvez y chercher plus d’idées, comme vous pouvez le voir sur la capture d’écran, cela fonctionne))

mettre à jour

les étapes suivantes aident à résoudre le problème des lignes dans la boîte de dialogue (en plus des règles précédemment appliquées 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

enter image description here

Vous pouvez également exécuter le client dans 2 autres modes

  • -t mode interface utilisateur texte
  • -n, --non-interactive, --noninteractive                     Exécuter sans jamais demander à l'utilisateur d'entrer. Cela peut nécessiter des indicateurs de ligne de commande supplémentaires; le client essaiera d'expliquer lesquels sont nécessaires s'il en trouve un manquant

4
2018-03-13 09:32



en fait, il vaut mieux utiliser -t option pour le mode texte, par exemple. ./letsencrypt-auto --apache -m youremail@domain.com --agree-tos --redirect -t - vitr


Il peut s'agir d'un problème lié au logiciel TERM ou au logiciel de dialogue. Essayez de le trouver (quelle boîte de dialogue) et mettez-le à jour. J'ai installé une nouvelle version de dialog et réappliqué / usr / bin / dialog avec / usr / local / bin / dialog (ln -s ...)


0
2018-03-21 00:55



avez-vous réussi à vous débarrasser de qqqqqq et x (au lieu de lignes normales)? - vitr
@vitr, essayez de configurer une variable TERM différente / correcte. - Vyacheslav
TERM=xterm travaux - vitr