Docker Handling: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
| Zeile 105: | Zeile 105: | ||
*cd /etc/systemd/system | *cd /etc/systemd/system | ||
*cat docker-container@.service | *cat docker-container@.service | ||
| − | |||
<pre> | <pre> | ||
[Unit] | [Unit] | ||
| Zeile 120: | Zeile 119: | ||
WantedBy=default.target | WantedBy=default.target | ||
</pre> | </pre> | ||
| + | ==Reload systemd== | ||
| + | *systemctl daemon-reload | ||
| + | ==Enable service== | ||
| + | *systemctl enable docker-container@co-bind9-01.service | ||
Version vom 9. Mai 2017, 17:12 Uhr
Dockerfile
Create Directory
- mkdir ~/docker/im-bind9
Dockerfile
~/docker/im-bind9# cat Dockerfile
#Grundimage hier ubuntu 16:04 FROM ubuntu:16.04 #maintainer sind wir MAINTAINER technik@xinux.de #Dies wird beim build und nur beim build ausgeführt RUN apt-get update && apt-get install -y bind9 #Frei zugebender Ports EXPOSE 53 EXPOSE 53/UDP #Verzeichnis welches wir zum mount vorbereiten VOLUME ["/var/cache/bind/"] VOLUME ["/etc/bind/"] #Abschliessendes Kommando beim container erstellen, muss im vordergrund laufen CMD ["/usr/sbin/named","-f", "-u", "bind" ]
Build
- cd ~/docker/im-bind9
- docker build -t im-bind9-01 .
Listing
- docker images
REPOSITORY TAG IMAGE ID CREATED SIZE im-bind9-01 latest 2b3cce7dde64 About an hour ago 243 MB
Container
Running
- docker run -d -p 53:53 -p 53:53/udp --name co-bind9-01 im-bind9-01
Inspect the Volumes
- docker inspect -f "Vorlage:Json .Mounts" co-bind9-01 | jq .
[
{
"Type": "volume",
"Name": "b0f0d3e275d537526c86f1a062f3955d6aa20392009df54af51598bee0032d5f",
"Source": "/var/lib/docker/volumes/b0f0d3e275d537526c86f1a062f3955d6aa20392009df54af51598bee0032d5f/_data",
"Destination": "/etc/bind",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
},
{
"Type": "volume",
"Name": "df518bd78593b927bf110a7fd12cb6734d0425366d281e2eb57cfbbf96b5901f",
"Source": "/var/lib/docker/volumes/df518bd78593b927bf110a7fd12cb6734d0425366d281e2eb57cfbbf96b5901f/_data",
"Destination": "/var/cache/bind",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
Config the service
- /etc/bind
- cd /var/lib/docker/volumes/b0f0d3e275d537526c86f1a062f3955d6aa20392009df54af51598bee0032d5f/_data
Create a Zone
cat named.conf.local
zone "vulkan.int" {
type master;
file "vulkan.int";
notify no;
};
Create a Zonefile
- /var/cache/bind
- cd /var/lib/docker/volumes/df518bd78593b927bf110a7fd12cb6734d0425366d281e2eb57cfbbf96b5901f/_data
- cat vulkan.int
$TTL 300 ; 5 minutes
@ IN SOA ns.vulkan.int. technik.xunix.de. (
2011090204 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
NS ns.vulkan.int.
ns.vulkan.int. A 172.17.0.2
www.vulkan.int. CNAME waka.xinux.lan.
Check Container
- docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5fb1f648756f im-bind9-01 "/usr/sbin/named -..." 18 minutes ago Up 18 minutes 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp co-bind9-01
Restart Container
- docker restart co-bind9-01
Check Service
- host -t cname www.vulkan.int 127.0.0.1
Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: www.vulkan.int is an alias for waka.xinux.lan.
Integration to Systemd
Create a service
- cd /etc/systemd/system
- cat docker-container@.service
[Unit] Description=Docker Container %I Requires=docker.service After=docker.service [Service] Restart=always ExecStart=/usr/bin/docker start -a %i ExecStop=/usr/bin/docker stop -t 2 %i [Install] WantedBy=default.target
Reload systemd
- systemctl daemon-reload
Enable service
- systemctl enable docker-container@co-bind9-01.service