Не удалось запустить клиентскую службу платформы API 2.5.7 в Docker с dev: ошибка ssl (конфликт с текущим мастером)

#ssl #docker-compose #api-platform.com

#ssl #docker-compose #api-platform.com

Вопрос:

Я начал все заново с загрузки и распаковки последней версии API Platform 2.5.7, новой установки Docker для Mac на мой Macbook Pro со свежеустановленной Catalina и продолжаю сталкиваться со следующей ошибкой, после чего docker-compose pull последовал docker-compose up -d .

Все остальные службы запущены и запущены (зеленый в клиенте Docker), только клиент платформы API остается серым со следующим сообщением в журналах службы:

 yarn run v1.22.5

error Command "dev:ssl" not found.

info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
  

Это не проблема с таймаутом, хотя я выполнил следующее, чтобы удвоить время ожидания.

 export DOCKER_CLIENT_TIMEOUT=120
export COMPOSE_HTTP_TIMEOUT=120
  

Чего мне здесь не хватает, в Интернете не так много информации об этом, поэтому я должен игнорировать некоторые тривиальные вещи?

PS Я думаю, что происходит загрузка Dockerfile основной версии для клиента, поскольку 2.5.7 не содержит ничего, что указывает на dev: ssl.

P.S.S. Установка сертификата, похоже, прошла успешно, см. Журналы этой части ниже

P.P.S.S. Хотя я могу получить доступ к службе администратора, например, как к службе api, я не могу получить доступ к службе dev-tls через браузер. https://localhost:80 урожайность в

 Secure Connection Failed

An error occurred during a connection to localhost:80. SSL received a record that exceeded the maximum permissible length.

Error code: SSL_ERROR_RX_RECORD_TOO_LONG.
  

Я считаю, что это может быть связано с моей проблемой.

 Creating volume "abc_dev-certs" with default driver
Building dev-tls
Step 1/8 : ARG NGINX_VERSION=1.17
Step 2/8 : FROM nginx:${NGINX_VERSION}-alpine
1.17-alpine: Pulling from library/nginx
cbdbe7a5bc2a: Already exists
c554c602ff32: Pull complete
Digest: sha256:763e7f0188e378fef0c761854552c70bbd817555dc4de029681a2e972e25e30e
Status: Downloaded newer image for nginx:1.17-alpine
 ---> 89ec9da68213
Step 3/8 : RUN apk add --no-cache       nss-tools   ;
 ---> Running in e0c151182fb3
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
(1/6) Installing nspr (4.24-r0)
(2/6) Installing libgcc (9.3.0-r0)
(3/6) Installing sqlite-libs (3.30.1-r2)
(4/6) Installing libstdc   (9.3.0-r0)
(5/6) Installing nss (3.48-r0)
(6/6) Installing nss-tools (3.48-r0)
Executing busybox-1.31.1-r9.trigger
OK: 30 MiB in 43 packages
Removing intermediate container e0c151182fb3
 ---> 4895089ff1c6
Step 4/8 : WORKDIR /certs
 ---> Running in 3e49a528b4d3
Removing intermediate container 3e49a528b4d3
 ---> 6fdeb78536a9
Step 5/8 : ARG MKCERT_VERSION=1.4.1
 ---> Running in 632471b47035
Removing intermediate container 632471b47035
 ---> 1d4da3a96894
Step 6/8 : RUN set -eux;    wget -O /usr/local/bin/mkcert https://github.com/FiloSottile/mkcert/releases/download/v$MKCERT_VERSION/mkcert-v$MKCERT_VERSION-linux-amd64;     chmod  x /usr/local/bin/mkcert;     mkcert --cert-file localhost.crt --key-file localhost.key localhost 127.0.0.1 ::1 mercure;  cat localhost.key localhost.crt > server.pem;   cp "$(mkcert -CAROOT)/rootCA.pem" /certs/localCA.crt
 ---> Running in 89fd8efa2967
  wget -O /usr/local/bin/mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.1/mkcert-v1.4.1-linux-amd64
Connecting to github.com (140.82.121.3:443)
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (52.216.114.227:443)
saving to '/usr/local/bin/mkcert'
mkcert                11% |***                             |  543k  0:00:07 ETA
mkcert                42% |*************                   | 2022k  0:00:02 ETA
mkcert                92% |*****************************   | 4469k  0:00:00 ETA
mkcert               100% |********************************| 4815k  0:00:00 ETA
'/usr/local/bin/mkcert' saved
  chmod  x /usr/local/bin/mkcert
  mkcert --cert-file localhost.crt --key-file localhost.key localhost 127.0.0.1 ::1 mercure
Created a new local CA at "/root/.local/share/mkcert" 💥
Warning: the local CA is not installed in the system trust store! ⚠️
Run "mkcert -install" to avoid verification errors ‼️

Created a new certificate valid for the following names 📜
 - "localhost"
 - "127.0.0.1"
 - "::1"
 - "mercure"

The certificate is at "localhost.crt" and the key at "localhost.key" 

  cat localhost.key localhost.crt
  mkcert -CAROOT
  cp /root/.local/share/mkcert/rootCA.pem /certs/localCA.crt
Removing intermediate container 89fd8efa2967
 ---> ae6d06e250f8
  

Ответ №1:

отредактируйте docker / dev-tls / Dockerfile и добавьте в строку 23: mkcert -install;

затем создайте свои изображения снова, сработало для меня

Комментарии:

1. Спасибо за ваше предложение! Это то, что у меня есть в строке 21: `mkcert —cert-file localhost.crt —key-file localhost. ключ localhost 127.0.0.1 :: 1 mercure; ` Я добавил новую строку ниже с вашим предложением, но это не заставило его работать.