Docker: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 48: | Zeile 48: | ||
Sonst muss man die ganzen Paramter mitgeben: | Sonst muss man die ganzen Paramter mitgeben: | ||
<source lang="bash" enclose="div"> | <source lang="bash" enclose="div"> | ||
docker run -i -t -d -p 80:80/tcp -p 443:443/tcp -v /conf.d:/conf.d forumi0721alpinearmhf/alpine-armhf-nginx:latest /bin/ | docker run -i -t -d -p 80:80/tcp -p 443:443/tcp -v /conf.d:/conf.d forumi0721alpinearmhf/alpine-armhf-nginx:latest /bin/ash | ||
</source> | </source> | ||
Ein paar bedeuten: | Ein paar bedeuten: | ||
-d, --detach=true|false | |||
-i, --interactive=true|false | |||
-t, --tty=true|false | |||
-v|--volume[=[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]] | -v|--volume[=[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]] | ||
== Container stoppen == | == Container stoppen == |
Version vom 15. Januar 2017, 22:14 Uhr
Installation
Ubuntu (x86)
apt-get update
apt-get install apt-transport-https ca-certificates
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" > /etc/apt/sources.list.d/docker.list
apt-get update
apt-get purge lxc-docker
apt-cache policy docker-engine
apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
apt-get install docker-engine
service docker start
docker run hello-world # Test
Raspbian (arm)
curl -sSL https://get.docker.com | sh
Docker Registry
ToDo
Arbeiten mit Docker
Eingerichtete Images auflisten
> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc65f386f2d5 nginx:1 nginx 9 months ago Up 3 seconds 0.0.0.0:7890->80/tcp dc-nginx
Container starten
Wenn der Container schon konfiguriert ist:
> docker start cc65f386f2d5
Sonst muss man die ganzen Paramter mitgeben:
docker run -i -t -d -p 80:80/tcp -p 443:443/tcp -v /conf.d:/conf.d forumi0721alpinearmhf/alpine-armhf-nginx:latest /bin/ash
Ein paar bedeuten:
-d, --detach=true|false -i, --interactive=true|false -t, --tty=true|false -v|--volume[=[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]]
Container stoppen
docker stop cc65f386f2d5
Benutzung
docker.io attach cc65f386f2d5
Container löschen
Image eines Containers löschen
Hilfen
docker-compose
docker-compose macht das Leben ein wenig einfacher.
curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Dockerimage Architektur
docker inspect 882059b7ca70 | jq '.[] | .Architecture'
docker search armhf-
Finden von ferigen Images
Images lassen sich sowohl mit dem Befehl
docker search gitlab
suchen. Eine Übersicht ist auch dem Docker-Webseite zu sehen.
Verwaltung
Mit dem Befehl
docker pull sameersbn/gitlab
lassen sich dann die Iamges herunterladen. Dabei steht der Teil vor dem / für den Nutzer, das das Image erzeugt hat und der Teil nach dem Schrägstrich für das Programm, welches durch das Image bereitgestellt wird.
Liste aller lokal vorliegenden Images
Die Liste der lokal vorliegenden Images lass sich mit dem Befehl
docker images
anzeigen. Ein mögliches Ergebnis könnte so aussehen:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
sameersbn/gitlab latest 5e06a7e49560 34 hours ago 631.6 MB
sameersbn/gitlab 7.11.4-1 e07ed8d5eff4 3 months ago 617 MB
sameersbn/redis latest 44943bcb43f1 3 months ago 199.2 MB
sameersbn/mysql latest d9d83f2d5b98 3 months ago 325.9 MB
hello-world latest 91c95931e552 5 months ago 910 B
sameersbn/postgresql 9.4 271ad7e099d3 7 months ago 228.2 MB
nginx latest 61e8f94e1d65 14 months ago 499.1 MB
Anzeige der verfügbaren Container
Die zur Verfügung stehenden Container kann man mit folgendem Befehl anzeigen lassen:
docker.io ps -a
Die Liste sieht dann wie folgt aus.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc65f386f2d5 nginx:1 nginx 9 months ago Exited (1) 8 months ago 0.0.0.0:7890->80/tcp dc-nginx
Löschen von Images und Containern
Die Images, die bei Nichtbenutzung nur viel Speicherplatz belegen, lassen sich mit dem Befehl
docker rmi <image>
löschen. Analog gilt für das Entfernen von Containern:
docker rm <container>
Betrieb
Beispiel
Container interaktive starten
Als erstes werden Entwicklungswerkzeuge installiert:
apt-get install debconf-utils pv bc lzop zip binfmt-support bison build-essential ccache debootstrap flex gawk gcc-arm-linux-gnueabihf lvm2 qemu-user-static u-boot-tools uuid-dev zlib1g-dev unzip libusb-1.0-0-dev parted pkg-config expect gcc-arm-linux-gnueabi libncurses5-dev git vim screen
Dann folgt git und ein Entwicklungsverzeichnis:
apt-get install git
mkdir -p /root/Lime-Debian/output/
cd /root/Lime-Debian/
U-boot, or universal boot is the bootloader used by ARM and other embedded devices. It is similar to GRUB or LILO however much smaller. We'll be building it from source for the Olimex A20 LIME2 board.
git clone https://github.com/RobertCNelson/u-boot /root/Lime-Debian/output/u-boot
cd output/u-boot
make -s CROSS_COMPILE=arm-linux-gnueabihf- clean
make -j2 A20-OLinuXino-Lime2_defconfig CROSS_COMPILE=arm-linux-gnueabihf-
make -j2 CROSS_COMPILE=arm-linux-gnueabihf-