Как распечатать сервер хранилища, работающий в контейнере докеров

У меня есть установка docker compose, которая успешно запускает consul (config здесь ). Кажется, что Vault запускается нормально, за исключением некоторых ошибок, связанных с установкой TTL (журналы здесь ).

Более того, консул, кажется, икает при попытке связаться с /v1/agent/check/fail/vault:127.0.0.1:8200:vault-sealed-check?note=Vault+Sealed . По-видимому, статус «хранилище: 127.0.0.1: 8200: vault-sealed-check» теперь является критическим .

consul1    |     2016/11/05 20:50:04 [DEBUG] agent: Check 'vault:127.0.0.1:8200:vault-sealed-check' status is now critical
consul1    |     2016/11/05 20:50:04 [DEBUG] agent: Service 'vault:127.0.0.1:8200' in sync
consul1    |     2016/11/05 20:50:04 [DEBUG] agent: Service 'consul' in sync
consul1    |     2016/11/05 20:50:04 [DEBUG] agent: Check 'vault:127.0.0.1:8200:vault-sealed-check' in sync
consul1    |     2016/11/05 20:50:04 [DEBUG] agent: Node info in sync
consul1    |     2016/11/05 20:50:04 [DEBUG] http: Request PUT /v1/agent/check/fail/vault:127.0.0.1:8200:vault-sealed-check?note=Vault+Sealed (92.314µs) from=172.18.0.3:48742

При запуске контейнера хранилища (с серверной частью consul) 1) как мы получаем начальный i) ключ и ii) корневой токен. Я использую официальный образ хранилища Hashicorp с моим пользовательским /vault/config/vault.hcl образом консула ).

В конце концов, я хочу знать 2) , как распечатать сервер хранилища. И в этом случае я хочу распечатать сервер хранилища, который работает в контейнере докеров. И 3) - это все, что мне нужно, чтобы начать записывать секреты в хранилище.

4
задан 5 November 2016 в 23:20
2 ответа

Чтобы распечатать хранилище в контейнере с использованием официального исходного образа хранилища , я бы инициировал контейнер хранилища с помощью:

vm# docker run -it --cap-add IPC_LOCK -p 8200:8200 -p 8215:8125 --name vault --volume /my/vault:/my/vault vault server -config=/my/vault/vaultCfg.hcl 

где виртуальная машина работает под управлением движка докеров 1.12.4 и хранилище hcl списки конфигурации:

backend "consul" {
  address = "myconsul.com:8500"
  path = "vault"
}

listener "tcp" {
  address = "0.0.0.0:8200"
  tls_disable = 1
}

, а затем на том же хосте докеров:

vm# VAULT_ADDR=http://myvault.com:8200 
vm# docker exec -it vault vault  "$@" init -address=${VAULT_ADDR}

И ожидайте вывода вроде:

2016/12/11 10:21:10.628736 [WARN ] physical/consul: appending trailing forward slash to path
2016/12/11 12:09:12.117238 [INFO ] core: security barrier not initialized
2016/12/11 12:09:12.136037 [INFO ] core: security barrier initialized: shares=5 threshold=3
2016/12/11 12:09:12.169987 [INFO ] core: post-unseal setup starting
2016/12/11 12:09:12.181963 [INFO ] core: successfully mounted backend: type=generic path=secret/
2016/12/11 12:09:12.181990 [INFO ] core: successfully mounted backend: type=cubbyhole path=cubbyhole/
2016/12/11 12:09:12.182057 [INFO ] core: successfully mounted backend: type=system path=sys/
2016/12/11 12:09:12.182156 [INFO ] rollback: starting rollback manager
2016/12/11 12:09:12.218527 [INFO ] core: post-unseal setup complete
2016/12/11 12:09:12.218733 [INFO ] core/startClusterListener: starting listener
2016/12/11 12:09:12.218899 [INFO ] core/startClusterListener: serving cluster requests: cluster_listen_address=[::]:8201
2016/12/11 12:09:12.228888 [INFO ] core: root token generated
2016/12/11 12:09:12.228905 [INFO ] core: pre-seal teardown starting
2016/12/11 12:09:12.228911 [INFO ] core/stopClusterListener: stopping listeners
2016/12/11 12:09:12.228921 [INFO ] core/startClusterListener: shutting down listeners
2016/12/11 12:09:12.724179 [INFO ] core/startClusterListener: listeners successfully shut down
2016/12/11 12:09:12.724209 [INFO ] core/stopClusterListener: success
2016/12/11 12:09:12.724225 [INFO ] rollback: stopping rollback manager
2016/12/11 12:09:12.724250 [INFO ] core: pre-seal teardown complete

Эта ссылка может помочь. Требуется рабочее подключение к Интернету для docker run

1
ответ дан 3 December 2019 в 04:08

Итак, я нашел рабочее решение. Рабочая установка с i. узлом консула, ii. экземпляром хранилища, разговаривающим с ним, затем iii. возможностью подключиться к хранилищу и произвести начальную распечатку и корневые токены.

A) С помощью этого dockerfile я могу i. docker-compose build && docker-compose up .

B) Затем в другой оболочке я могу подключиться к $ docker exec -i -tgently_vault_1 /bin/sh.

C)[12103 impressionА затем в этой оболочке просто запустить vault init .

/ # vault init
Unseal Key 1: asdf...
Unseal Key 2: qwer...
Unseal Key 3: zxcv...
Unseal Key 4: piou...
Unseal Key 5: lkjh...
Initial Root Token: mbnv...

Vault initialized with 5 keys and a key threshold of 3. Please
securely distribute the above keys. When the Vault is re-sealed,
restarted, or stopped, you must provide at least 3 of these keys
to unseal it again.

Vault does not store the master key. Without at least 3 keys,
your Vault will remain permanently sealed.
0
ответ дан 3 December 2019 в 04:08

Теги

Похожие вопросы