centos新机器安装Docker

454 阅读1分钟

Docker安装

1. 移除旧版本

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

2. 安装一些必要的系统工具

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

3. 添加软件源信息

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

可能存在问题: 可能机器ping 不通baidu.com,此时需要修改DNS

使用传统方法,手工修改 /etc/resolv.conf

修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:
[main]
plugins=ifcfg-rh
dns=none
NetworkManager重新装载上面修改的配置
# systemctl restart NetworkManager.service
手工修改 /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8

# resolv.conf会在重启后被重置,解决如下
手工修改 /etc/sysconfig/network-scripts/ifcfg-eth0
PEERDNS=no

$sudo  systemctl restart NetworkManager.service

docker 需要container-selinux >= 2.9 docker 为什么需要这个依赖 原因

 sudo yum install container-selinux

如果安装的时候报错 container-selinux >= 2.9

  • 原因: 这个报错是container-selinux版本低或者是没安装的原因,yum 安装container-selinux ,一般的yum源又找不到这个包,需要安装epel源 才能yum安装container-selinux,然后在安装docker-ce就可以了。
  • 解决办法:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  
 yum install epel-release   #阿里云上的epel源

然后 yum install container-selinux

安装

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

启动Docker

sudo systemctl start docker

设置镜像源:

$ sudo vi /etc/docker/daemon.json
{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
    ],
    "insecure-registries": []
}
sudo service docker restart

示例

安装mysql

# 第一步
docker pull mysql:5.7

# 启动
sudo docker run --name mysql -p 3306:3306  --restart=always -v /data/mysql/datadir:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=xxxx -d mysql:5.7

本文使用 mdnice 排版