diff --git a/simple-fleet/apache-discovery.1.service b/simple-fleet/apache-discovery.1.service deleted file mode 100644 index 31e1df8..0000000 --- a/simple-fleet/apache-discovery.1.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Announce Apache1 -BindsTo=apache.1.service - -[Service] -ExecStart=/bin/sh -c "while true; do etcdctl set /services/website/apache1 '{ \"host\": \"%H\", \"port\": 80, \"version\": \"52c7248a14\" }' --ttl 60;sleep 45;done" -ExecStop=/usr/bin/etcdctl rm /services/website/apache1 - -[X-Fleet] -X-ConditionMachineOf=apache.1.service diff --git a/simple-fleet/apache-discovery.2.service b/simple-fleet/apache-discovery.2.service deleted file mode 100644 index 968b5ee..0000000 --- a/simple-fleet/apache-discovery.2.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Announce Apache2 -BindsTo=apache.2.service - -[Service] -ExecStart=/bin/sh -c "while true; do etcdctl set /services/website/apache2 '{ \"host\": \"%H\", \"port\": 80, \"version\": \"52c7248a14\" }' --ttl 60;sleep 45;done" -ExecStop=/usr/bin/etcdctl rm /services/website/apache2 - -[X-Fleet] -X-ConditionMachineOf=apache.2.service diff --git a/simple-fleet/apache-discovery@.service b/simple-fleet/apache-discovery@.service new file mode 100644 index 0000000..3877160 --- /dev/null +++ b/simple-fleet/apache-discovery@.service @@ -0,0 +1,11 @@ +[Unit] +Description=Announce Apache1 +BindsTo=apache@%i.service +After=apache@%i.service + +[Service] +ExecStart=/bin/sh -c "while true; do etcdctl set /services/website/apache@%i '{ \"host\": \"%H\", \"port\": 80, \"version\": \"52c7248a14\" }' --ttl 60;sleep 45;done" +ExecStop=/usr/bin/etcdctl rm /services/website/apache@%i + +[X-Fleet] +MachineOf=apache@%i.service diff --git a/simple-fleet/apache.1.service b/simple-fleet/apache.1.service deleted file mode 100644 index bb00e78..0000000 --- a/simple-fleet/apache.1.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=My Apache Frontend -After=docker.service -Requires=docker.service - -[Service] -ExecStart=/usr/bin/docker run --name apache -p 80:80 coreos/apache /usr/sbin/apache2ctl -D FOREGROUND -ExecStop=/usr/bin/docker stop apache - -[X-Fleet] -X-Conflicts=apache.*.service diff --git a/simple-fleet/apache.2.service b/simple-fleet/apache.2.service deleted file mode 100644 index bb00e78..0000000 --- a/simple-fleet/apache.2.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=My Apache Frontend -After=docker.service -Requires=docker.service - -[Service] -ExecStart=/usr/bin/docker run --name apache -p 80:80 coreos/apache /usr/sbin/apache2ctl -D FOREGROUND -ExecStop=/usr/bin/docker stop apache - -[X-Fleet] -X-Conflicts=apache.*.service diff --git a/simple-fleet/apache@.service b/simple-fleet/apache@.service new file mode 100644 index 0000000..58fb42e --- /dev/null +++ b/simple-fleet/apache@.service @@ -0,0 +1,15 @@ +[Unit] +Description=My Apache Frontend +After=docker.service +Requires=docker.service + +[Service] +TimeoutStartSec=0 +ExecStartPre=-/usr/bin/docker kill apache1 +ExecStartPre=-/usr/bin/docker rm apache1 +ExecStartPre=/usr/bin/docker pull coreos/apache +ExecStart=/usr/bin/docker run -rm --name apache1 -p 80:80 coreos/apache /usr/sbin/apache2ctl -D FOREGROUND +ExecStop=/usr/bin/docker stop apache1 + +[X-Fleet] +Conflicts=apache@*.service diff --git a/simple-fleet/myapp.service b/simple-fleet/myapp.service index e02da29..e4b1cad 100644 --- a/simple-fleet/myapp.service +++ b/simple-fleet/myapp.service @@ -4,4 +4,10 @@ After=docker.service Requires=docker.service [Service] -ExecStart=/usr/bin/docker run busybox /bin/sh -c "while true; do echo Hello World; sleep 1; done" +TimeoutStartSec=0 +ExecStartPre=-/usr/bin/docker kill busybox1 +ExecStartPre=-/usr/bin/docker rm busybox1 +ExecStartPre=/usr/bin/docker pull busybox +ExecStart=/usr/bin/docker run --name busybox1 busybox /bin/sh -c "while true; +do echo Hello World; sleep 1; done" +ExecStop=/usr/bin/docker stop busybox1