Docker Handling: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) (→Tagen) |
Thomas (Diskussion | Beiträge) (→Links) |
||
| Zeile 169: | Zeile 169: | ||
==Push== | ==Push== | ||
*docker push docker.tuxmen.de/im-bind9-02 | *docker push docker.tuxmen.de/im-bind9-02 | ||
| + | |||
| + | =Pull a Image= | ||
| + | *docker pull docker.yourdomain.de/im-bind9-02 | ||
| + | |||
| + | |||
=Links= | =Links= | ||
*http://container-solutions.com/understanding-volumes-docker/ | *http://container-solutions.com/understanding-volumes-docker/ | ||
*https://www.alexandernaumov.de/blog/docker-grundlagen | *https://www.alexandernaumov.de/blog/docker-grundlagen | ||
Version vom 11. Mai 2017, 15:02 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
Stop service
- systemctl stop docker-container@co-bind9-01.service
Start service
- systemctl start docker-container@co-bind9-01.service
Restart service
- systemctl restart docker-container@co-bind9-01.service
Status service
- systemctl status docker-container@co-bind9-01.service
● docker-container@co-bind9-01.service - Docker Container co/bind9/01
Loaded: loaded (/etc/systemd/system/docker-container@.service; enabled; vendor preset: enabled)
Active: active (running) since Di 2017-05-09 19:12:43 CEST; 1min 20s ago
Main PID: 5267 (docker)
Tasks: 8 (limit: 512)
CGroup: /system.slice/system-docker\x2dcontainer.slice/docker-container@co-bind9-01.service
└─5267 /usr/bin/docker start -a co-bind9-01
Mai 09 19:12:43 bay systemd[1]: Started Docker Container co/bind9/01.
Misc
Enter to a running Container
- docker exec -it co-bind9-01 /bin/bash
Leave the Container
- Type CTRL + a + d
Show Running Container
- docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5fb1f648756f im-bind9-01 "/usr/sbin/named -..." 15 hours ago Up 14 hours 0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp, 953/udp co-bind9-01 2f7b36514443 im-bind-06 "/usr/sbin/named -..." 15 hours ago Up 15 hours 53/udp, 53/tcp, 953/udp co-bind-06 1d7810a7b89e nickstenning/mediawiki "/usr/bin/mediawik..." 17 hours ago Up 15 hours 0.0.0.0:80->80/tcp xinux-wiki 51af44ac62b7 mysql "docker-entrypoint..." 18 hours ago Up 15 hours 0.0.0.0:3306->3306/tcp xinux-mysql
Stop Container
- docker stop co-bind9-01
Remove Container
- docker rm co-bind9-01
Repository
Login
- docker login docker.yourdomain.de
Tagen
- docker tag im-bind9-02 docker.yourdomain.de/im-bind9-02
Push
- docker push docker.tuxmen.de/im-bind9-02
Pull a Image
- docker pull docker.yourdomain.de/im-bind9-02