Skip to content
章节导航

Linux 安装 Docker

Docker 版本

  • 社区版(Community Edition, CE)
  • 企业版(Enterprise Edition, EE)

支持平台

  • Linux ( CentOS, Debian, Fedora, oracle Linux, RHEL, SUSE 和 Ubuntu )
  • Mac
  • Windows

官网安装教程

关闭防火墙

内核环境

  • 查看 centos 版本(Docker 要求 CentOS 系统的内核版本高于 3.10)
shell
uname -r
  • 升级内核
shell
yum update

指定阿里源

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

卸载老版本

shell
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

Docker 安装

查看 docker 仓库中的所有版本

输入指令:yum list docker-ce --showduplicates | sort -r 可以看到docker的版本信息

docker 安装

  • 安装指定版本,使用 sudo yum install <docker的版本>
  • 默认安装最高的版本:
shell
sudo yum install docker-ce

启动并加入开机启动

  • 启动 docker:
shell
sudo systemctl start docker
  • 开机启动 docker:
shell
sudo systemctl enable docker

检测是否安装 docker 成功

shell
docker version

Docker Daemon 配置

针对 CentOS 7 拉取镜像失败问题

创建 daemon.json 文件

shell
vi /etc/docker/daemon.json

添加内容

shell
{
       "registry-mirrors": [
          "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
          "https://docker.m.daocloud.io",
          "https://hub-mirror.c.163.com",
          "https://mirror.baidubce.com",
          "https://your_preferred_mirror",
          "https://dockerhub.icu",
          "https://docker.registry.cyou",
          "https://docker-cf.registry.cyou",
          "https://dockercf.jsdelivr.fyi",
          "https://docker.jsdelivr.fyi",
          "https://dockertest.jsdelivr.fyi",
          "https://mirror.aliyuncs.com",
          "https://dockerproxy.com",
          "https://mirror.baidubce.com",
          "https://docker.m.daocloud.io",
          "https://docker.nju.edu.cn",
          "https://docker.mirrors.sjtug.sjtu.edu.cn",
          "https://docker.mirrors.ustc.edu.cn",
          "https://mirror.iscas.ac.cn",
          "https://docker.rainbond.cc"
          ]
      }

重启 Docker

shell
sudo systemctl daemon-reload
sudo systemctl restart docker

运行第一个docker镜像

以 Nginx 为列, 拉取 docker 镜像:

shell
docker image pull nginx

查看镜像

shell
docker images

运行 Nginx 镜像

shell
docker container run -p 80:80 nginx

注意

  • 如果没有关闭防火墙, 需要关闭防火墙, 或者开放 80 端口。
  • 关闭防火墙之后, 需要重启 docker
  • 重启docker命令: systemctl restart docker

防火墙操作命令

  • 命令行界面输入命令 systemctl status firewalld.service 并按下回车键。
  • 然后在下方可度以查看得到 “active(running)”,此时说明防火墙已经被打开了。
  • 在命令行中输入 systemctl stop firewalld.service 命令,进行关闭防火墙。
  • 然后再使用命令 systemctl status firewalld.service ,在下方出现disavtive(dead),这权样就说明防火墙已经关闭。
  • 再在命令行中输入命令 systemctl disable firewalld.service 命令,即可永久关闭防火墙。

其他 Linux 操作命令

  • 查看版本号: cat /etc/redhat-release