Linux安装Docker-CE

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/networken/article/details/84944671

在这里插入图片描述

安装环境介绍

  • 操作系统:CentOS7
  • Docker版本:Docker-CE最新版本

安装Docker-CE

官方链接:https://docs.docker.com/engine/installation/

卸载旧版本docker:

如果存在旧版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

安装必要的依赖包:

# yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

配置Docker yum源:

这里使用国内阿里云Yum源:

$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

也可以配置官方yum源:

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

安装Docker-CE:

$ yum install -y docker-ce 

查看docker版本,确认安装成功

$ docker --version
Docker version 18.09.0, build 4d60db4

启动Docker服务并设为开机启动

$ systemctl start docker && systemctl enable docker

#确认docker服务运行正常,显示active (running)说明服务正常运行
$ systemctl status docker.service

运行hello-world镜像测试

$ sudo docker run hello-world

# 提示Hello from Docker!说明正常。

docker配置文件位置

centos7的docker默认配置文件如下:

[root@localhost ~]# find / -name docker.service
......
/usr/lib/systemd/system/docker.service
[root@localhost ~]#

安装Docker-CE指定版本(可选)

列出可用版本,然后选择并安装:

[root@host2 ~]# yum list docker-ce --showduplicates | sort -r
......
docker-ce.x86_64            3:18.09.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.0-3.el7                    @docker-ce-stable
docker-ce.x86_64            18.06.1.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.0.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            18.03.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.1.ce-1.el7.centos            docker-ce-stable 
......
[root@host2 ~]# 

#以安装18.06版本为例
[root@host2 ~]# yum install docker-ce-18.06.1.ce-3.el7  

如果要卸载docker,执行以下操作(可选)

卸载docker软件包

$ sudo yum remove docker-ce

卸载Docker后,/var/lib/docker/目录下会保留原Docker的镜像,网络,存储卷等文件. 如果需要全新安装Docker,需要删除/var/lib/docker/目录

$ sudo rm -rf /var/lib/docker

配置国内镜像加速(可选)

鉴于国内网络问题,后续拉取 Docker 镜像比较慢,建议安装 Docker 之后配置国内镜像加速。

添加内核参数

默认配置下,如果在 CentOS 使用 Docker CE 会看到下面的这些警告信息:

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   

阿里云和DaoCloud 为我们提供了免费的国内镜像服务,可以选择其中一个进行配置。

在阿里云或者daocloud.io免费注册一个用户,登录后,找到加速器进行配置:

配置阿里云镜像加速:

找到左侧的镜像加速器,按照指导进行配置即可,示例如下:

$ sudo mkdir -p /etc/docker

$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF

$ sudo systemctl daemon-reload && systemctl restart docker   

配置daocloud镜像加速:

找到右上角的小火箭图标,按照指导进行配置即可,示例如下:

$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

docker安装脚本(可选)

将以上命令整理为安装脚本,方便后续一键安装docker-ce。

使用方法:将以下内容保存为.sh脚本文件运行即可,或者从以下链接下载并运行脚本,

运行后将安装最新版docker-ce并配置docker镜像加速。

从github下载并运行脚本:

# wget https://raw.githubusercontent.com/zhwill/LinuxShell/master/Install_docker-ce.sh && bash Install_docker-ce.sh

安装脚本内容:

#!/bin/bash
#this script is for Install the lastest version of docker-ce

#卸载旧版本docker
yum remove -y docker-ce
rm -rf /var/lib/docker

#安装依赖软件包
yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2 \
    git
    
#导入yum源,这里使用阿里yum源   
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装docker
yum install docker-ce -y

#启动docker
systemctl start docker && systemctl enable docker

#配置镜像加速

##修改内核参数
cat >> /etc/sysctl.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl -p

##配置阿里云镜像加速
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF

##或者配置daocloud镜像加速
#curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io >> /dev/null

#重启docker服务
systemctl daemon-reload && systemctl restart docker.service

#查看docker版本
echo
echo "##########################Docker版本###############################"
docker --version

docker-compose工具(可选)

docker-compose负责实现对 Docker 容器集群的快速编排,它允许用户通过一个单独的 docker-compose.yml 模板文件来定义一组相关联的应用容器为一个项目.

#安装epel源
# yum install -y epel-release
 
#安装docker-compose
# yum install -y docker-compose

猜你喜欢

转载自blog.csdn.net/networken/article/details/84944671