Docker Container won't start with systemctl

Viewed 2613

I have just started checking out coreos

I have tried to setup redis and mysql docker instances, but with little succcess.

I initially expected everything to work on start up out of the box, but it appeared not to be the case.

So based on this documentation on systemd on the coreos site, I decided to try this to start my docker instace

cd /etc/systemd/system

sudo systemctl enable redis.service
$ sudo systemctl start redis.service

This did not work.

I used docker events to track its initialisation

docker event &

I am not sure what I am probably missed out..

Here is my cloud config file

#cloud-config
hostname: user1
# include one or more SSH public keys
ssh_authorized_keys:
  - ssh-rsa....
users:
  - name: user2
    passwd: temp123
    groups:
      - sudo
      - docker
    ssh-authorized-keys:
      - ssh-rsa....
coreos:
  etcd2:
    #generate a new token for each unique cluster from https://discovery.etcd.io/new?size=#{number_instances}
    discovery: https://discovery.etcd.io/fdadfadjskd546887878kfksdjfds
    # multi-region and multi-cloud deployments need to use 1.1.1.1
    advertise-client-urls: http://1.1.1.1:2379
    initial-advertise-peer-urls: http://2.2.2.2:2380
    # listen on both the official ports and the legacy ports
    # legacy ports can be omitted if your application doesn't depend on them
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://2.2.2.2:2380,http://2.2.2.2:7001
  fleet:
    public-ip: 1.1.1.1
  flannel:
    interface: 3.3.3.51/23
  units:
    - name: systemd-networkd
      command: stop
    - name: 00-static.network
      runtime: true
      content:   "[Match]\n\
        Name=ens19\n\
        [Network]\n\
        Address=3.3.3.3/23\n\
        Gateway=3.3.3.255\n\
        DNS=8.8.8.8\n\
        DNS=8.8.4.4  \n"
    - name: systemd-networkd
      command: start
    - name: etcd2.service
      command: start
    - name: fleet.service
      command: start
    - name: redis.service
      command: start
      enable: true
      content: "[Unit]\n\
        Description=Redis Server Docker Container\n\
        After=docker.service\n\
        Requires=docker.service\n\
        [Service]\n\
        TimeoutStartSec=0 \n\
        EnvironmentFile=/etc/environment\n\
        ExecStartPre=-/usr/bin/docker kill %p\n\
        ExecStartPre=-/usr/bin/docker rm %p\n\
        ExecStartPre=/usr/bin/docker pull redis:latest \n\
        ExecStart=/usr/bin/docker run --name=redis --detach=true --publish=6379:6379 redis \n\
        ExecStop=/usr/bin/docker stop redis \n\
        [Install] \n\
        WantedBy=multi-user.target \n"
    - name: mysql.service
      command: start
      enable: true
      content: "[Unit]\n\
        Description=MySQL Server Docker Container\n\
        After=docker.service\n\
        Requires=docker.service\n\
        [Service]\n\
        TimeoutStartSec=0 \n\
        EnvironmentFile=/etc/environment\n\
        ExecStartPre=-/usr/bin/docker kill %p\n\
        ExecStartPre=-/usr/bin/docker rm %p\n\
        ExecStartPre=/usr/bin/docker pull mysql:latest \n\
        ExecStart=/usr/bin/docker run --name=mysql --env MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} --env MYSQL_USER=${MYSQL_USER} --env MYSQL_PASSWORD=${MYSQL_PASSWORD} --env MYSQL_DATABASE=${MYSQL_DATABASE} --detach --publish 3306:3306 --volume=/path/to/dumps/:/dumps/ mysql\n\
        ExecStop=/usr/bin/docker stop mysql\n\
        [Install] \n\
        WantedBy=multi-user.target \n"
write_files:
  - path: /etc/environment
    permissions: 0644
    content: "\nMYSQL_USER='user1'\n\
      MYSQL_DATABASE='db1'\n\
      MYSQL_CONTAINER_NAME='mysql'\n\
      MYSQL_ROOT_PASSWORD=$(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | sed 1q) \n"
1 Answers
Related