View difference between Paste ID: xfS1ztCG and sBttUgF0
SHOW: | | - or go back to the newest paste.
1-
version: '3.1'
1+
version: '3.1'
2-
2+
3-
services:
3+
services:
4-
  a: 
4+
  a: 
5-
    image: tutum/hello-world
5+
6-
  secret: 
6+
  secret: 
7-
    password: the_password
7+
    password: the_password
8-
  b:
8+
  b:
9
    image: tutum/hello-world
10
	
11
$ docker swarm init
12
	
13
$ echo "This is an external secret" | docker secret create my_external_secret -
14
	
15
$ echo "This is a file secret." > my_file_secret.txt
16
	
17-
version: '3.1'
17+
version: '3.1'
18-
18+
19-
services:
19+
services:
20-
  web:
20+
  web:
21-
    image: nginxdemos/hello
21+
    image: nginxdemos/hello
22-
    secrets:                    # secrets block only for 'web' service
22+
    secrets:                    # secrets block only for 'web' service
23-
     - my_external_secret
23+
     - my_external_secret
24-
     - my_file_secret
24+
     - my_file_secret
25-
25+
26-
secrets:                        # top level secrets block
26+
secrets:                        # top level secrets block
27-
  my_external_secret:
27+
  my_external_secret:
28-
    external: true
28+
    external: true
29-
  my_file_secret:
29+
  my_file_secret:
30
    file: my_file_secret.txt
31
	
32
$ docker stack deploy --compose-file=docker-compose.yml secret_test
33
	
34-
$ docker exec -ti secret_test_web.1.m2jgacogzsiaqhgq1z0yrwekd /bin/sh
34+
$ docker exec -ti secret_test_web.1.m2jgacogzsiaqhgq1z0yrwekd /bin/sh
35-
35+
36-
# Now inside secret_test_web; secrets are contained in /run/secrets/
36+
# Now inside secret_test_web; secrets are contained in /run/secrets/
37-
root@secret_test_web:~$ cd /run/secrets/
37+
root@secret_test_web:~$ cd /run/secrets/
38-
38+
39-
root@secret_test_web:/run/secrets$ ls
39+
root@secret_test_web:/run/secrets$ ls
40-
my_external_secret  my_file_secret
40+
my_external_secret  my_file_secret
41-
41+
42-
root@secret_test_web:/run/secrets$ cat my_external_secret
42+
root@secret_test_web:/run/secrets$ cat my_external_secret
43-
This is an external secret
43+
This is an external secret
44-
44+
45-
root@secret_test_web:/run/secrets$ cat my_file_secret
45+
root@secret_test_web:/run/secrets$ cat my_file_secret
46
This is a file secret.
47
	
48-
version: '3.1'
48+
version: '3.1'
49-
49+
50-
services:
50+
services:
51-
  myapp:
51+
  myapp:
52-
    build: .
52+
    build: .
53-
    secrets:
53+
    secrets:
54
      secrets_yaml
55
	
56
docker secret create secrets_yaml secrets.yml
57
	
58
docker deploy --compose-file docker-compose.yml myappstack
59
	
60-
# create a temporary secret file
60+
# create a temporary secret file
61
cat secrets.yml | vault write secret/myappsecrets -
62
	
63
vault read -field=value secret/myappsecrets | docker secret create secrets_yaml -
64
	
65-
version: '3.1'
65+
version: '3.1'
66-
66+
67-
secrets:
67+
secrets:
68-
  password:
68+
  password:
69-
    file: ./password
69+
    file: ./password
70-
70+
71-
services:
71+
services:
72-
  password_consumer:
72+
  password_consumer:
73-
    image: alpine
73+
    image: alpine
74-
    secrets:
74+
    secrets:
75
      - password