Add script to enable Docker Remote API by updating Docker Daemon configuration
[functest.git] / docker / docker_remote_api / enable_remote_api.sh
1 #!/bin/bash\r
2 # SPDX-license-identifier: Apache-2.0\r
3 \r
4 # ******************************\r
5 # Script to update the docker host configuration\r
6 # to enable Docker Remote API\r
7 # ******************************\r
8 \r
9 if [ -f /etc/lsb-release ]; then\r
10     #tested on ubuntu 14.04 and 16.04\r
11     if grep -q "#DOCKER_OPTS=" "/etc/default/docker"; then\r
12         cp /etc/default/docker /etc/default/docker.bak\r
13         sed -i 's/^#DOCKER_OPTS.*$/DOCKER_OPTS=\"-H unix:\/\/\/var\/run\/docker.sock -H tcp:\/\/0.0.0.0:2375\"/g' /etc/default/docker\r
14     else\r
15         echo DOCKER_OPTS=\"-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375\" >> /etc/default/docker\r
16     fi\r
17     service docker restart\r
18     #docker start $(docker ps -aq)\r
19 elif [ -f /etc/system-release ]; then\r
20         #tested on centos 7.2\r
21     if grep -q "ExecStart=\/usr\/bin\/docker-current daemon" "/lib/systemd/system/docker.service"; then\r
22             cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak\r
23             sed -i 's/^ExecStart=.*$/ExecStart=\/usr\/bin\/docker daemon -H tcp:\/\/0.0.0.0:2375 -H unix:\/\/\/var\/run\/docker.sock  \\/g' /lib/systemd/system/docker.service\r
24             systemctl daemon-reload\r
25             systemctl restart docker\r
26         else\r
27             echo "to be implemented"\r
28     fi\r
29 else\r
30     echo "OS is not supported"\r
31 fi\r
32 \r
33 # Issue Note for Ubuntu\r
34 # 1. If the configuration of the file /etc/default/docker does not take effect after restarting docker service,\r
35 #    you may try to modify /lib/systemd/system/docker.service\r
36 #    commands:\r
37 #    cp /lib/systemd/system/docker.service /lib/systemd/system/docker.service.bak\r
38 #    sed -i '/^ExecStart/i\EnvironmentFile=-/etc/default/docker' /lib/systemd/system/docker.service\r
39 #    sed -i '/ExecStart=\/usr\/bin\/dockerd/{;s/$/ \$DOCKER_OPTS/}' /lib/systemd/system/docker.service\r
40 #    systemctl daemon-reload\r
41 #    service docker restart\r
42 # 2. Systemd is a system and session manager for Linux, where systemctl is one tool for systemd to view and control systemd.\r
43 #    If the file /lib/systemd/system/docker.service is modified, systemd has to be reloaded to scan new or changed units.\r
44 #    1) systemd and related packages are available on the PPA. To use the PPA, first add it to your software sources list as follows.\r
45 #       add-apt-repository ppa:pitti/systemd\r
46 #       apt-get update\r
47 #    2) system can be installed from the PPS as follows.\r
48 #       apt-get install systemd libpam-systemd systemd-ui\r
49 \r
50 \r
51 \r