Docker: Unterschied zwischen den Versionen

Aus Alexander's Wiki
Zeile 52: Zeile 52:
<source lang="bash" enclose="div">
<source lang="bash" enclose="div">
  docker pull sameersbn/gitlab:latest
  docker pull sameersbn/gitlab:latest
docker pull sameersbn/redis:latest
docker pull sameersbn/mysql:latest
</source>
</source>


<source lang="bash" enclose="div">
<source lang="bash" enclose="div">
Zeile 64: Zeile 65:


The above command will create a database named '''gitlabhq'''_production and also create a user named '''gitlab''' with the password '''password''' with full/remote access to the '''gitlabhq_production''' database.
The above command will create a database named '''gitlabhq'''_production and also create a user named '''gitlab''' with the password '''password''' with full/remote access to the '''gitlabhq_production''' database.
<source lang="bash" enclose="div">
docker run --name=redis-gitlab -d \
  --volume=/srv/docker/gitlab/redis:/var/lib/redis \
  sameersbn/redis:latest
</source>


<source lang="bash" enclose="div">
<source lang="bash" enclose="div">

Version vom 21. Juni 2015, 06:39 Uhr

Installation

Paket für Ubuntu

  apt-get install docker.io lxc

Docker Image

 docker.io run -p 666:80 -i -t ubuntu:12.04 /bin/bash

Der lokale Port 666 zeigt auf den Port 80 im Docker-Image.

Verwaltung

Anzeige der verfügbaren Container

 docker.io ps -a

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

Container starten

 docker.io start cc65f386f2d5

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 stoppen

 docker.io stop cc65f386f2d5

Container löschen

 docker.io rm cc65f386f2d5

Docker Container finden

 docker.io search gitlab

Benutzung

 docker.io attach cc65f386f2d5


Special Gitlab

 docker pull sameersbn/gitlab:latest
 docker pull sameersbn/redis:latest
 docker pull sameersbn/mysql:latest
 docker run --name=mysql-gitlab -d \
  --env='DB_NAME=gitlabhq_production' \
  --env='DB_USER=gitlab' --env='DB_PASS=password' \
    --volume=/srv/docker/gitlab/mysql:/var/lib/mysql \
    sameersbn/mysql:latest

The above command will create a database named gitlabhq_production and also create a user named gitlab with the password password with full/remote access to the gitlabhq_production database.

 docker run --name=redis-gitlab -d \
  --volume=/srv/docker/gitlab/redis:/var/lib/redis \
  sameersbn/redis:latest
 docker run --name=gitlab -d --link=mysql-gitlab:mysql \
  --volume=/srv/docker/gitlab/gitlab:/home/git/data \
  sameersbn/gitlab:latest

Here the image will also automatically fetch the DB_NAME, DB_USER and DB_PASS variables from the mysql container as they are specified in the docker run command for the mysql container. This is made possible using the magic of docker links.