-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker_errors.txt
More file actions
168 lines (148 loc) · 9.98 KB
/
docker_errors.txt
File metadata and controls
168 lines (148 loc) · 9.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
1. cmd: sbt docker:publishLocal
problem: docker daemon was not running
fix: sudo systemctl start docker
error:
===================================================================
[error] 2014/10/21 12:53:40 Post http:///var/run/docker.sock/v1.15/build?forcerm=1&rm=1&t=koeb_me%3A0.1.0: dial unix /var/run/docker.sock: no such file or directory
java.lang.RuntimeException: Nonzero exit value: 1
at com.typesafe.sbt.packager.docker.DockerPlugin$class.publishLocalDocker(DockerPlugin.scala:105)
at com.typesafe.sbt.SbtNativePackager$.publishLocalDocker(PackagerPlugin.scala:10)
at com.typesafe.sbt.packager.docker.DockerPlugin$$anonfun$dockerSettings$15.apply(DockerPlugin.scala:195)
at com.typesafe.sbt.packager.docker.DockerPlugin$$anonfun$dockerSettings$15.apply(DockerPlugin.scala:194)
at scala.Function5$$anonfun$tupled$1.apply(Function5.scala:35)
at scala.Function5$$anonfun$tupled$1.apply(Function5.scala:34)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[error] (docker:publishLocal) Nonzero exit value: 1
===================================================================
2. cmd: sbt docker:publishLocal
problem: user has no permissions to docker sock
fix: sudo usermod -aG docker <USERNAME> && newgrp docker
error:
===================================================================
[error] 2014/10/21 12:55:13 Post http:///var/run/docker.sock/v1.15/build?forcerm=1&rm=1&t=koeb_me%3A0.1.0: dial unix /var/run/docker.sock: permission denied
java.lang.RuntimeException: Nonzero exit value: 1
at com.typesafe.sbt.packager.docker.DockerPlugin$class.publishLocalDocker(DockerPlugin.scala:105)
at com.typesafe.sbt.SbtNativePackager$.publishLocalDocker(PackagerPlugin.scala:10)
at com.typesafe.sbt.packager.docker.DockerPlugin$$anonfun$dockerSettings$15.apply(DockerPlugin.scala:195)
at com.typesafe.sbt.packager.docker.DockerPlugin$$anonfun$dockerSettings$15.apply(DockerPlugin.scala:194)
at scala.Function5$$anonfun$tupled$1.apply(Function5.scala:35)
at scala.Function5$$anonfun$tupled$1.apply(Function5.scala:34)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[error] (docker:publishLocal) Nonzero exit value: 1
===================================================================
3. cmd: sbt docker:publishLocal
problem: wrong maintainer setting in build.sbt
was: maintainer := "Alexander Köb <nerdkram@koeb.me>"
additional annoyence: complained only AFTER download of the base image
fix: change to: maintainer in Docker := "Alexander Köb <nerdkram@koeb.me>"
error:
===================================================================
[error] 2014/10/21 13:30:58 MAINTAINER requires only one argument
java.lang.RuntimeException: Nonzero exit value: 1
at com.typesafe.sbt.packager.docker.DockerPlugin$class.publishLocalDocker(DockerPlugin.scala:105)
at com.typesafe.sbt.SbtNativePackager$.publishLocalDocker(PackagerPlugin.scala:10)
at com.typesafe.sbt.packager.docker.DockerPlugin$$anonfun$dockerSettings$15.apply(DockerPlugin.scala:195)
at com.typesafe.sbt.packager.docker.DockerPlugin$$anonfun$dockerSettings$15.apply(DockerPlugin.scala:194)
at scala.Function5$$anonfun$tupled$1.apply(Function5.scala:35)
at scala.Function5$$anonfun$tupled$1.apply(Function5.scala:34)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[error] (docker:publishLocal) Nonzero exit value: 1
===================================================================
4. after those have been fixed, I ended up with a docker image with my applications name:
koebi@koebitop:~/projects/koeb.me$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
koeb_me 0.1.0 1d223fcb5fd6 14 minutes ago 785.6 MB
dockerfile/java latest 6e9b63aaf229 7 days ago 710.3 MB
dockerfile/java openjdk-7-jre 3482a733892b 7 days ago 710.3 MB
5. starting with docker run 1d223fcb5fd6, play would not start because of missing evolutions:
[warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful)
Oops, cannot start the server.
@6k113mj8p: Database 'default' needs evolution!
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(Evolutions.scala:484)
at play.api.db.evolutions.EvolutionsPlugin.withLock(Evolutions.scala:507)
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:461)
at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:459)
at scala.collection.immutable.List.foreach(List.scala:318)
at play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:459)
at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88)
at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88)
at scala.collection.immutable.List.foreach(List.scala:318)
at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:88)
at play.api.Play$$anonfun$start$1.apply(Play.scala:88)
at play.api.Play$$anonfun$start$1.apply(Play.scala:88)
at play.utils.Threads$.withContextClassLoader(Threads.scala:18)
at play.api.Play$.start(Play.scala:87)
at play.core.StaticApplication.<init>(ApplicationProvider.scala:52)
at play.core.server.NettyServer$.createServer(NettyServer.scala:243)
at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:279)
at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:274)
at scala.Option.map(Option.scala:145)
at play.core.server.NettyServer$.main(NettyServer.scala:274)
at play.core.server.NettyServer.main(NettyServer.scala)
solution: docker run -i -t 1d223fcb5fd6 -DapplyEvolutions.default=true
caveat: but that will only run the evolution for the local database.
TODO:
* put database in a data-only docker container
* link the database from within this docker container
* start the app once with evolution turned on
* stop it
* start the application in background
==================
ok, create data container:
docker run -v /data --name data-container busybox chown daemon /data
this will exit immediagtely, nontheless the data volume is exposed and will remain
then run the app with this data container mounted in evolution mode:
docker run --name "evolution" --volumes-from data-container -t IMAGE_ID -DapplyEvolutions.default=true
the app can be stopped and deleted after startup is completed, the evolution has been applied and the database is there...
run the regular app:
docker run -d --name "app" --volumes-from data-container IMAGE_ID
remember to run backups:
docker run --volumes-from data-container -v $(pwd):/backup busybox tar cvf /backup/backup.tar /data