1
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2025-06-04 23:17:31 +02:00

upgrade vault to 0.9.0

This commit is contained in:
kev 2017-12-12 17:29:22 +08:00
parent 05000c2b6f
commit b66f471162
9 changed files with 30 additions and 25 deletions

View File

@ -5,25 +5,26 @@
FROM alpine FROM alpine
MAINTAINER kev <noreply@easypi.pro> MAINTAINER kev <noreply@easypi.pro>
ENV VAULT_VER 0.5.2 ENV VAULT_VER=0.9.0
ENV VAULT_URL https://releases.hashicorp.com/vault/${VAULT_VER}/vault_${VAULT_VER}_linux_amd64.zip ENV VAULT_URL=https://releases.hashicorp.com/vault/${VAULT_VER}/vault_${VAULT_VER}_linux_amd64.zip
ENV VAULT_MD5 7d0f546d19c8e7e1eb5f8856bfa4cc29 ENV VAULT_MD5=6db0a01b144c73b0633bbcd69175cd2c
ENV VAULT_FILE vault.zip
ENV VAULT_ADDR https://127.0.0.1:8200
RUN set -xe \ RUN set -xe \
&& apk add -U ca-certificates \ && apk add -U ca-certificates \
&& wget -O $VAULT_FILE $VAULT_URL \ && wget -O vault.zip $VAULT_URL \
&& echo "$VAULT_MD5 $VAULT_FILE" | md5sum -c \ && echo "$VAULT_MD5 vault.zip" | md5sum -c \
&& unzip $VAULT_FILE -d /usr/bin/ \ && unzip vault.zip -d /usr/bin/ \
&& chmod +x /usr/bin/vault \ && chmod +x /usr/bin/vault \
&& apk del ca-certificates \ && apk del ca-certificates \
&& rm $VAULT_FILE /var/cache/apk/* && rm vault.zip /var/cache/apk/*
COPY vault /etc/vault COPY ./data/etc /etc/vault
VOLUME /etc/vault /var/lib/vault /var/log/vault
VOLUME /etc/vault /var/lib/vault
EXPOSE 8200 EXPOSE 8200
CMD ["vault", "server", "-config=/etc/vault/vault.hcl"] ENV VAULT_ADDR=https://127.0.0.1:8200
ENV VAULT_SKIP_VERIFY=1
ENTRYPOINT ["vault"]
CMD ["server", "-config=/etc/vault/vault.hcl"]

View File

@ -10,14 +10,15 @@ providing tight access control and recording a detailed audit log.
## docker-compose.yml ## docker-compose.yml
``` ```yaml
vault: vault:
image: vimagick/vault image: vimagick/vault
ports: ports:
- "8200:8200" - "8200:8200"
volumes: volumes:
- vault/vault.crt:/etc/vault/vault.crt - ./data/etc:/etc/vault
- vault/vault.key:/etc/vault/vault.key - ./data/var:/var/lib/vault
- ./data/log:/var/log/vault
cap_add: cap_add:
- IPC_LOCK - IPC_LOCK
restart: always restart: always
@ -27,30 +28,32 @@ vault:
## server ## server
``` ```bash
$ cd ~/fig/vault $ cd ~/fig/vault
$ mkdir vault $ mkdir data
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout vault/vault.key -out vault/vault.crt $ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout data/etc/vault.key -out data/etc/vault.crt
$ docker-compose up -d $ docker-compose up -d
$ docker cp vault_vault_1:/usr/bin/vault /usr/local/bin/ $ docker cp vault_vault_1:/usr/bin/vault /usr/local/bin/
$ docker exec -it vault_vault_1 sh $ docker exec -it vault_vault_1 sh
>>> cd /etc/vault >>> cd /etc/vault
>>> vault init -tls-skip-verify -key-shares=5 -key-threshold=3 | tee vault.secret >>> vault init -key-shares=5 -key-threshold=3 | tee vault.secret
>>> exit >>> exit
$ docker run --rm --volumes-from vault_vault_1 -v `pwd`:/backup alpine tar cvzf /backup/vault.tgz /etc/vault /var/lib/vault $ docker run --rm --volumes-from vault_vault_1 -v `pwd`:/backup alpine tar cvzf /backup/vault.tgz /etc/vault /var/lib/vault /var/log/vault
``` ```
> Split `vault.secret`, keep them a secret. > Split `vault.secret`, keep them a secret.
## client ## client
``` ```bash
$ export VAULT_ADDR='https://server:8200' $ export VAULT_ADDR='https://server:8200'
$ cp ~/fig/vault/vault/vault.crt /etc/ssl/certs/vault.pem $ export VAULT_SKIP_VERIFY=0
$ cp ~/fig/vault/data/etc/vault.crt /etc/ssl/certs/vault.pem
$ update-ca-certificates $ update-ca-certificates
$ vault status $ vault status
$ vault unseal && vault unseal && vault unseal $ vault unseal && vault unseal && vault unseal
$ vault auth $ vault auth
$ vault audit-enable file file_path=/var/log/vault/audit.log
$ vault write secret/name key=value $ vault write secret/name key=value
$ vault read secret/name $ vault read secret/name
$ vault seal $ vault seal

View File

0
vault/data/log/.gitkeep Normal file
View File

0
vault/data/var/.gitkeep Normal file
View File

View File

@ -3,8 +3,9 @@ vault:
ports: ports:
- "8200:8200" - "8200:8200"
volumes: volumes:
- ./vault/vault.crt:/etc/vault/vault.crt - ./data/etc:/etc/vault
- ./vault/vault.key:/etc/vault/vault.key - ./data/var:/var/lib/vault
- ./data/log:/var/log/vault
cap_add: cap_add:
- IPC_LOCK - IPC_LOCK
restart: always restart: always