github.com/dlintw/docker@v1.5.0-rc4/docs/sources/articles/systemd.md (about) 1 page_title: Controlling and configuring Docker using Systemd 2 page_description: Controlling and configuring Docker using Systemd 3 page_keywords: docker, daemon, systemd, configuration 4 5 # Controlling and configuring Docker using Systemd 6 7 Many Linux distributions use systemd to start the Docker daemon. This document 8 shows a few examples of how to customise Docker's settings. 9 10 ## Starting the Docker daemon 11 12 Once Docker is installed, you will need to start the Docker daemon. 13 14 $ sudo systemctl start docker 15 # or on older distributions, you may need to use 16 $ sudo service docker start 17 18 If you want Docker to start at boot, you should also: 19 20 $ sudo systemctl enable docker 21 # or on older distributions, you may need to use 22 $ sudo chkconfig docker on 23 24 ## Custom Docker daemon options 25 26 There are a number of ways to configure the daemon flags and environment variables 27 for your Docker daemon. 28 29 If the `docker.service` file is set to use an `EnvironmentFile` 30 (often pointing to `/etc/sysconfig/docker`) then you can modify the 31 referenced file. 32 33 Or, you may need to edit the `docker.service` file, which can be in `/usr/lib/systemd/system` 34 or `/etc/systemd/service`. 35 36 ### Runtime directory and storage driver 37 38 You may want to control the disk space used for Docker images, containers 39 and volumes by moving it to a separate partition. 40 41 In this example, we'll assume that your `docker.service` file looks something like: 42 43 [Unit] 44 Description=Docker Application Container Engine 45 Documentation=http://docs.docker.com 46 After=network.target docker.socket 47 Requires=docker.socket 48 49 [Service] 50 Type=notify 51 EnvironmentFile=-/etc/sysconfig/docker 52 ExecStart=/usr/bin/docker -d -H fd:// $OPTIONS 53 LimitNOFILE=1048576 54 LimitNPROC=1048576 55 56 [Install] 57 Also=docker.socket 58 59 This will allow us to add extra flags to the `/etc/sysconfig/docker` file by 60 setting `OPTIONS`: 61 62 OPTIONS="--graph /mnt/docker-data --storage btrfs" 63 64 You can also set other environment variables in this file, for example, the 65 `HTTP_PROXY` environment variables described below. 66 67 ### HTTP Proxy 68 69 This example overrides the default `docker.service` file. 70 71 If you are behind a HTTP proxy server, for example in corporate settings, 72 you will need to add this configuration in the Docker systemd service file. 73 74 First, create a systemd drop-in directory for the docker service: 75 76 mkdir /etc/systemd/system/docker.service.d 77 78 Now create a file called `/etc/systemd/system/docker.service.d/http-proxy.conf` 79 that adds the `HTTP_PROXY` environment variable: 80 81 [Service] 82 Environment="HTTP_PROXY=http://proxy.example.com:80/" 83 84 If you have internal Docker registries that you need to contact without 85 proxying you can specify them via the `NO_PROXY` environment variable: 86 87 Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com" 88 89 Flush changes: 90 91 $ sudo systemctl daemon-reload 92 93 Restart Docker: 94 95 $ sudo systemctl restart docker 96 97 ## Manually creating the systemd unit files 98 99 When installing the binary without a package, you may want 100 to integrate Docker with systemd. For this, simply install the two unit files 101 (service and socket) from [the github 102 repository](https://github.com/docker/docker/tree/master/contrib/init/systemd) 103 to `/etc/systemd/system`. 104 105