HashCorps Vault에서 HTTP API를 사용하여 dockerfile 내부의 환경 변수에 비밀을 얻으려고합니다. 비공개 자식 저장소에서 파일을 다운로드하려면 비밀이 필요합니다.HashiCorp의 Vault HTTP API에서 도커 컨테이너로 비밀을 얻는 방법은 무엇입니까?
Dockerfile
관련 부분 docker-compose build
반환과 함께 다음과 같은 출력 실행
FROM debian:jessie
ENV REPOSITORY_LOCAL_IP 192.168.1.x
ENV REPOSITORY_PORT 20080
ENV REPOSITORY_USER root
ENV PRIVATE_TOKEN "$(curl -s -H "X-Vault-Token: xxx" -X GET http://192.168.1.x:8200/v1/secret/private-token | jq -r '.data.value')"
RUN apt install curl jq -y && \
wget http://"$REPOSITORY_LOCAL_IP":"$REPOSITORY_PORT"/"$REPOSITORY_USER"/repository/blob/master/files/file.conf?private_token="$PRIVATE_TOKEN"
docker-compose.yml
관련 부분
version: '2'
services:
hhvm_dev:
build:
dockerfile: image.df
context: ./images/.
user: user
restart: always
stdin_open: true
tty: true
working_dir: /etc/image
ports:
- "80"
:
그것은PRIVATE_TOKEN
처럼 보이는
converted 'http://192.168.1.x:20080/root/repository/blob/master/files/file.conf?private_token=$(curl -s -H X-Vault-Token: xxx-token-xxx -X GET http://192.168.1.x:8200/v1/secret/private-token | jq -r '.data.value')' (ANSI_X3.4-1968) -> 'http://192.168.1.x:20080/root/repository/blob/master/files/file.conf?private_token=$(curl -s -H X-Vault-Token: xxx-token-xxx -X GET http://192.168.1.x:8200/v1/secret/private-token | jq -r '.data.value')' (UTF-8)
--2016-11-02 12:07:41-- http://192.168.1.x:20080/root/repository/blob/master/files/file.conf?private_token=$(curl%20-s%20-H%20X-Vault-Token:%xxx-token-xxx%20-X%20GET%20http://192.168.1.x:8200/v1/secret/private-token%20%7C%20jq%20-r%20'.data.value')
Connecting to 192.168.1.x:20080... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://192.168.1.x:20080/users/sign_in [following]
converted 'http://192.168.1.x:20080/users/sign_in' (ANSI_X3.4-1968) -> 'http://192.168.1.x:20080/users/sign_in' (UTF-8)
--2016-11-02 12:07:41-- http://192.168.1.x:20080/users/sign_in
Reusing existing connection to 192.168.1.x:20080.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: '/scripts/file.sh'
0K ........ 6.17M=0.001s
2016-11-02 12:07:42 (6.17 MB/s) - '/scripts/file.sh' saved [8270]
이 설정되어 있지 않습니다 지정된 위치. 개인 저장소에서 로그인 페이지를 다운로드하기 만하면됩니다.