Skip to content

Instantly share code, notes, and snippets.

@AgentCoop
Last active February 17, 2017 10:17
Show Gist options
  • Save AgentCoop/adf448d1f716b2fae80bb58d51cd3632 to your computer and use it in GitHub Desktop.
Save AgentCoop/adf448d1f716b2fae80bb58d51cd3632 to your computer and use it in GitHub Desktop.
Example of how to start docker containers on system startup
[Unit]
Description=Docker container cdn-redis
Requires=docker.service
After=docker.service
[Service]
Restart=always
RestartSec=3
ExecStartPre=-/usr/bin/docker rm -f cdn-redis
ExecStart=/usr/bin/docker run --name=cdn-redis -v /data/cdn.ewf/redis:/data/cdn.ewf/redis cdn-redis:latest
ExecStop=/usr/bin/docker stop -t 2 cdn-redis
ExecStopPost=/usr/bin/docker rm -f cdn-redis
[Install]
WantedBy=default.target
-----8<-------------
[Unit]
Description=Docker container cdn-mongodb
Requires=cdn_redis.service
After=cdn_redis.service
[Service]
Restart=always
RestartSec=3
ExecStartPre=-/usr/bin/docker rm -f cdn-mongodb
ExecStart=/usr/bin/docker run --name=cdn-mongodb -v /data/cdn.ewf/mongodb:/data/cdn.ewf/mongodb cdn-mongodb:latest
ExecStop=/usr/bin/docker stop -t 2 cdn-mongodb
ExecStopPost=/usr/bin/docker rm -f cdn-mongodb
[Install]
WantedBy=default.target
-----------8<-------------
[Unit]
Description=Docker container cdn-php
Requires=cdn_mongodb.service
After=cdn_mongodb.service
[Service]
Restart=always
RestartSec=3
ExecStartPre=/usr/bin/sleep 3
ExecStart=/usr/bin/docker run \
--name=cdn-php-fpm \
-v /video:/video \
-v /tmp:/tmp \
--link=cdn-redis \
--link=cdn-mongodb \
-e REDIS_HOST=cdn-redis \
-e MONGODB_HOST=cdn-mongodb \
-v /data/cdn.ewf/web:/var/www/html/public/static cdn-php-fpm:latest
ExecStop=/usr/bin/docker stop -t 2 cdn-php-fpm
ExecStopPost=/usr/bin/docker rm -f cdn-php-fpm
[Install]
WantedBy=default.target
-----------8<-------------
[Unit]
Description=Docker container cdn-nginx
Requires=cdn_php.service
After=cdn_php.service
[Service]
Restart=always
RestartSec=3
ExecStartPre=/usr/bin/sleep 3
ExecStartPre=-/usr/bin/docker rm -f cdn-nginx
ExecStart=/usr/bin/docker run -p 9981:80 --name=cdn-nginx --link=cdn-php-fpm --volumes-from=cdn-php-fpm:ro cdn-nginx:latest
ExecStop=/usr/bin/docker stop -t 2 cdn-nginx
ExecStopPost=/usr/bin/docker rm -f cdn-nginx
[Install]
WantedBy=default.target
-----------8<-------------
ExecStartPre=/usr/bin/sleep 3 - without this command containers having dependencies might fail to start.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment