Centos7安装Docker

Centos7安装Docker

0.注意事项

Docker 支持 64 位版本 CentOS 7/8,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。

1.删除旧版Docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

2.使用yum安装

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

3.安装Docker

sudo yum install docker-ce docker-ce-cli containerd.io

4.启动Docker

sudo systemctl enable docker
sudo systemctl start docker

5.建立Docker用户组

#建立docker组
sudo groupadd docker
#将当前用户加入 docker 组
sudo usermod -aG docker $USER

6.测试安装成功与否

docker run --rm hello-world

#出现如下文字段落,则安装成功
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
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://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

7.镜像加速

#查看是否在 docker.service 文件中配置过镜像地址
systemctl cat docker | grep '\-\-registry\-mirror'

#如果该命令有输出,那么请执行 $ systemctl cat docker 查看 ExecStart= 出现的位置,修改对应的文件内容去掉 --registry-mirror 参数及其值,并按接下来的步骤进行配置。
sudo vi /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

#重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker

#检查加速器是否生效
docker info
#输出
Registry Mirrors:
 https://hub-mirror.c.163.com/

8.添加内核参数

#如果在 CentOS 使用 Docker 看到下面的这些警告信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

#请添加内核配置参数以启用这些功能。
sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

#然后重新加载 sysctl.conf 即可
sudo sysctl -p
posted @ 2021-11-01 22:19  不会写代码的花生  阅读(66)  评论(0)    收藏  举报