2014-05-23 09:53:11 -04:00
|
|
|
page_title: Installation on CentOS
|
2014-05-27 09:59:30 -04:00
|
|
|
page_description: Instructions for installing Docker on CentOS
|
2014-05-23 09:53:11 -04:00
|
|
|
page_keywords: Docker, Docker documentation, requirements, linux, centos, epel, docker.io, docker-io
|
|
|
|
|
2014-05-21 17:05:19 -04:00
|
|
|
# CentOS
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-08-17 10:14:05 -04:00
|
|
|
While the Docker package is provided by default as part of CentOS-7,
|
|
|
|
it is provided by the EPEL repository for CentOS-6. Please note that
|
|
|
|
this changes the installation instructions slightly between versions. If you
|
|
|
|
need the latest version, you can always use the latest binary which works on
|
|
|
|
kernel 3.8 and above.
|
|
|
|
|
2014-08-13 10:53:48 -04:00
|
|
|
These instructions work for CentOS 6 and later. They will likely work for
|
2014-05-21 17:05:19 -04:00
|
|
|
other binary compatible EL6 distributions such as Scientific Linux, but
|
|
|
|
they haven't been tested.
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-08-13 10:53:48 -04:00
|
|
|
Please note that due to the current Docker limitations, Docker is able to
|
2014-05-23 09:53:11 -04:00
|
|
|
run only on the **64 bit** architecture.
|
|
|
|
|
2014-05-21 17:05:19 -04:00
|
|
|
To run Docker, you will need [CentOS6](http://www.centos.org) or higher,
|
|
|
|
with a kernel version 2.6.32-431 or higher as this has specific kernel
|
|
|
|
fixes to allow Docker to run.
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-08-13 10:53:48 -04:00
|
|
|
## Installing Docker - CentOS-7
|
|
|
|
Docker is included by default in the CentOS-Extras repository. To install
|
|
|
|
simply run the following command.
|
|
|
|
|
|
|
|
$ sudo yum install docker
|
|
|
|
|
2014-08-17 10:14:05 -04:00
|
|
|
### Manual installation of latest version
|
|
|
|
|
|
|
|
While using a package is the recommended way of installing Docker,
|
|
|
|
the above package might not be the latest version. If you need the latest
|
|
|
|
version, [you can install the binary directly](
|
|
|
|
https://docs.docker.com/installation/binaries/).
|
|
|
|
|
|
|
|
When installing the binary without a package, you may want
|
|
|
|
to integrate Docker with systemd. For this, simply install the two unit files
|
|
|
|
(service and socket) from [the github
|
|
|
|
repository](https://github.com/docker/docker/tree/master/contrib/init/systemd)
|
|
|
|
to `/etc/systemd/system`.
|
|
|
|
|
|
|
|
### FirewallD
|
|
|
|
|
|
|
|
CentOS-7 introduced firewalld, which is a wrapper around iptables and can
|
|
|
|
conflict with Docker.
|
|
|
|
|
2014-11-25 23:09:52 -05:00
|
|
|
When `firewalld` is started or restarted it will remove the `DOCKER` chain
|
2014-08-17 10:14:05 -04:00
|
|
|
from iptables, preventing Docker from working properly.
|
|
|
|
|
2014-11-25 23:09:52 -05:00
|
|
|
When using systemd, `firewalld` is started before Docker, but if you
|
|
|
|
start or restart `firewalld` after Docker, you will have to restart the Docker daemon.
|
2014-08-17 10:14:05 -04:00
|
|
|
|
2014-08-13 10:53:48 -04:00
|
|
|
## Installing Docker - CentOS-6
|
|
|
|
Please note that this for CentOS-6, this package is part of [Extra Packages
|
|
|
|
for Enterprise Linux (EPEL)](https://fedoraproject.org/wiki/EPEL), a community effort
|
|
|
|
to create and maintain additional packages for the RHEL distribution.
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-05-21 17:05:19 -04:00
|
|
|
Firstly, you need to ensure you have the EPEL repository enabled. Please
|
2014-05-23 09:53:11 -04:00
|
|
|
follow the [EPEL installation instructions](
|
|
|
|
https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F).
|
|
|
|
|
|
|
|
The `docker-io` package provides Docker on EPEL.
|
|
|
|
|
|
|
|
If you already have the (unrelated) `docker` package
|
|
|
|
installed, it will conflict with `docker-io`.
|
|
|
|
There's a [bug report](
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1043676) filed for it.
|
|
|
|
To proceed with `docker-io` installation, please remove `docker` first.
|
|
|
|
|
|
|
|
Next, let's install the `docker-io` package which
|
|
|
|
will install Docker on our host.
|
|
|
|
|
2014-05-24 09:33:41 -04:00
|
|
|
$ sudo yum install docker-io
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-08-13 10:53:48 -04:00
|
|
|
## Using Docker
|
|
|
|
|
|
|
|
Once Docker is installed, you will need to start the docker daemon.
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-05-24 09:33:41 -04:00
|
|
|
$ sudo service docker start
|
2014-05-23 09:53:11 -04:00
|
|
|
|
|
|
|
If we want Docker to start at boot, we should also:
|
|
|
|
|
2014-05-24 09:33:41 -04:00
|
|
|
$ sudo chkconfig docker on
|
2014-05-23 09:53:11 -04:00
|
|
|
|
|
|
|
Now let's verify that Docker is working. First we'll need to get the latest
|
2014-05-21 17:05:19 -04:00
|
|
|
`centos` image.
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-08-13 10:53:48 -04:00
|
|
|
$ sudo docker pull centos
|
2014-05-23 09:53:11 -04:00
|
|
|
|
|
|
|
Next we'll make sure that we can see the image by running:
|
|
|
|
|
2014-05-24 09:33:41 -04:00
|
|
|
$ sudo docker images centos
|
2014-05-23 09:53:11 -04:00
|
|
|
|
|
|
|
This should generate some output similar to:
|
|
|
|
|
2014-05-24 09:33:41 -04:00
|
|
|
$ sudo docker images centos
|
2014-05-23 09:53:11 -04:00
|
|
|
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
|
|
|
|
centos latest 0b443ba03958 2 hours ago 297.6 MB
|
|
|
|
|
2014-05-21 17:05:19 -04:00
|
|
|
Run a simple bash shell to test the image:
|
2014-05-24 09:33:41 -04:00
|
|
|
|
|
|
|
$ sudo docker run -i -t centos /bin/bash
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-05-21 17:05:19 -04:00
|
|
|
If everything is working properly, you'll get a simple bash prompt. Type
|
2014-11-25 23:09:52 -05:00
|
|
|
`exit` to continue.
|
|
|
|
|
|
|
|
## Custom daemon options
|
|
|
|
|
|
|
|
If you need to add an HTTP Proxy, set a different directory or partition for the
|
|
|
|
Docker runtime files, or make other customizations, read our systemd article to
|
|
|
|
learn how to [customize your systemd Docker daemon options](/articles/systemd/).
|
2014-05-23 09:53:11 -04:00
|
|
|
|
2014-08-13 10:53:48 -04:00
|
|
|
## Dockerfiles
|
|
|
|
The CentOS Project provides a number of sample Dockerfiles which you may use
|
|
|
|
either as templates or to familiarize yourself with docker. These templates
|
|
|
|
are available on github at [https://github.com/CentOS/CentOS-Dockerfiles](
|
|
|
|
https://github.com/CentOS/CentOS-Dockerfiles)
|
|
|
|
|
2014-05-21 17:05:19 -04:00
|
|
|
**Done!** You can either continue with the [Docker User
|
|
|
|
Guide](/userguide/) or explore and build on the images yourself.
|
2014-05-23 09:53:11 -04:00
|
|
|
|
|
|
|
## Issues?
|
|
|
|
|
|
|
|
If you have any issues - please report them directly in the
|
2014-05-27 09:59:30 -04:00
|
|
|
[CentOS bug tracker](http://bugs.centos.org).
|