CentOs7 install docker

1. System Requirements

Docker CE supports the 64-bit version CentOS 7 and requires a kernel version no lower than 3.10. CentOS 7 meets the minimum kernel requirements, but due to the relatively low version of the kernel, some functions (such as  overlay2 storage layer drivers) cannot be used, and some functions may not be stable.

2. Uninstall the old version

Older versions of Docker are called  docker or  docker-engine, uninstall older versions with:

$ sudo yum remove docker \
           docker-common \
           docker-selinux \
           docker-engine

3. Install using yum source

Execute the following command to install dependencies:

$ sudo yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2

In view of domestic network problems, it is strongly recommended to use domestic sources. Please check the official sources in the comments.

Execute the following command to add the  yum software source:

$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo


# 官方源
# $ sudo yum-config-manager \
#     --add-repo \
#     https://download.docker.com/linux/centos/docker-ce.repo

If you need the latest version of Docker CE use the following command:

$ sudo yum-config-manager --enable docker-ce-edge

If you need a test version of Docker CE use the following command:

$ sudo yum-config-manager --enable docker-ce-test

Install Docker CE

Update  yum the software source cache and install it  docker-ce.

$ sudo yum makecache fast
$ sudo yum install docker-ce

Automatic installation using a script

In the test or development environment, Docker officially provides a set of convenient installation scripts to simplify the installation process, which can be used on CentOS systems to install:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

After executing this command, the script will automatically prepare everything and install the Edge version of Docker CE on the system.

Start Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

Create a docker user group

By default, docker commands use  Unix sockets  to communicate with the Docker engine. And only  root users and  docker groups of users can access the Docker engine's Unix socket. For security reasons, users are generally not used directly on Linux systems  root . Therefore, a better practice is to  docker add the user who needs to use it to the  docker user group.

Create a  docker group:

$ sudo groupadd docker

Add the current user to the  docker group:

$ sudo usermod -aG docker $USER

Log out of the current terminal and log in again to perform the following tests.

Test if Docker is installed correctly

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

If the above information can be output normally, the installation is successful.

Mirror acceleration

In view of domestic network problems, the subsequent pulling of Docker images is very slow. It is strongly recommended to configure  domestic image acceleration after installing Docker .

add kernel parameters

With the default configuration, if you use Docker CE on CentOS, you see the following warnings:

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Please add kernel configuration parameters to enable these features.

$ sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl.conf then reload 

$ sudo sysctl -p

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325475433&siteId=291194637