annotate docker/base/scripts/add_host @ 116:d0a5db5b9bdf

docker: fixed bad stopping: - use exec when it was missing, so the TERM signal is properly catched, and containers can be stopped instead of being killed after 10s - for a unknown reason, exec and su don't handle correctly "$@" with Docker in base.scripts/sat. It's working as expected when launched from withing a running container, but not when launched with "docker run", so a workaround is used with trap and wait
author Goffi <goffi@goffi.org>
date Fri, 04 Mar 2016 23:31:26 +0100
parents b69056368901
children 12cb931dbea0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
105
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/usr/bin/env python2
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # this script add aliases to /etc/hosts
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 import sys, re
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
4
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 if len(sys.argv) < 2 or len(sys.argv) > 3:
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
6 sys.exit(1)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
7
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
8 host = sys.argv[1]
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 alias = sys.argv[2] if len(sys.argv) == 3 else "localhost"
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
10
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 if host == "localhost" or host == alias:
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 sys.exit(0)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
13
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 print "Adding host {} as an alias of {}".format(host, alias)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 with open("/etc/hosts", "r+") as f:
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 buf = re.sub(r"\\b{}\\b".format(alias), "{}\\t{}".format(alias, host), f.read(), 1)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 f.seek(0)
b69056368901 docker: images optimisation:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 f.write(buf)