Building a Container that Loops: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 8: Line 8:


=Procedure=
=Procedure=
==Create the Image==


Place the scripts (loop and probe) in an empty directory that will serve as [[Docker_build#The_Build_Context|build context]].  
Place the scripts (loop and probe) in an empty directory that will serve as [[Docker_build#The_Build_Context|build context]].  
Line 46: Line 48:
  centos-loop        1                  89c2ce131758        About a minute ago  207MB
  centos-loop        1                  89c2ce131758        About a minute ago  207MB
  centos              latest              ff426288ea90        9 days ago          207MB
  centos              latest              ff426288ea90        9 days ago          207MB
==Run the Container==
docker run -d centos-loop:1
docker ps
CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS              PORTS              NAMES
bcff8efd8a9a        centos-loop:1      "/bin/sh -c /opt/loop"  2 minutes ago      Up 2 minutes                            brave_yonath

Revision as of 03:34, 18 January 2018

Internal

Overview

This is a simple container based on centos base image whose command sleep-loos, allowing the container to "hang around" without doing much. It also carry a "probe" script that can be exercised externally.

Procedure

Create the Image

Place the scripts (loop and probe) in an empty directory that will serve as build context.

loop:

#!/bin/sh

while true; do sleep 1s; done

probe:

#!/bin/sh

echo "executed in $(uname -n)"

Dockerfile:

 FROM centos:latest
 COPY loop probe /opt
 CMD /opt/loop

The build command:

cd workarea
docker build -t centos-loop:1 .

The image thus created can be listed in the local registry:

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
centos-loop         1                   89c2ce131758        About a minute ago   207MB
centos              latest              ff426288ea90        9 days ago           207MB

Run the Container

docker run -d centos-loop:1
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
bcff8efd8a9a        centos-loop:1       "/bin/sh -c /opt/loop"   2 minutes ago       Up 2 minutes                            brave_yonath