Docker Handling: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 60: Zeile 60:
 
]
 
]
 
</pre>
 
</pre>
 +
 +
=Mounts per Hand anlegen=
 +
*docker run -d  -p 81:80 '''-v /docker/xinux-wiki/html:/var/www/html'''  --name xinux-wiki xinux-wiki-14.04-11
 +
*Der vordere Teil des Ausdrucks (vor dem ":") gibt dabei das Quellverzeichnis auf dem Host an, der hintere Teil (hinter dem ":") gibt das Zielverzeichnis auf dem Docker-Container an
  
 
==Config the service==
 
==Config the service==

Version vom 24. Mai 2017, 15:06 Uhr

Dockerfile

Create Directory

  • mkdir -p ~/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

[
  {
    "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": ""
  }
]

Mounts per Hand anlegen

  • docker run -d -p 81:80 -v /docker/xinux-wiki/html:/var/www/html --name xinux-wiki xinux-wiki-14.04-11
  • Der vordere Teil des Ausdrucks (vor dem ":") gibt dabei das Quellverzeichnis auf dem Host an, der hintere Teil (hinter dem ":") gibt das Zielverzeichnis auf dem Docker-Container an

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.yourdomain.de/im-bind9-02

Pull a Image

  • docker pull docker.yourdomain.de/im-bind9-02

Links