栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker学习笔记 —— Docker 安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker学习笔记 —— Docker 安装

系列文章目录

Docker学习笔记 —— Docker 介绍
Docker学习笔记 —— Docker 安装
Docker学习笔记 —— Docker 常用命令
Docker学习笔记 —— Docker 存储
Docker学习笔记 —— Docker 网络
Docker学习笔记 —— Dockerfile


文章目录
  • 系列文章目录
  • 一、 安装包下载
  • 二、CentOS 安装Docker
    • 2.1 环境
    • 2.2 卸载旧版本
    • 2.3 设置 yum 源
    • 2.4 在线安装 Docker
      • 2.4.1 安装最新版本
      • 2.4.2 安装指定版本
      • 2.4.3 启动服务/开机启动
      • 2.4.4 验证安装
    • 2.5 离线安装 Docker
      • 2.5.1 rpm 安装
          • 2.5.1.1 查看内核版本
          • 2.5.1.2 下载 `rpm文件`
          • 2.5.1.3 启动服务/开机启动
          • 2.5.1.4 验证安装
      • 2.5.2 二进制安装
        • 2.5.2.1 二进制安装条件
        • 2.5.2.2 下载二进制文件
        • 2.5.2.3 解压文件
        • 2.5.2.4 复制文件到 /usr/bin
        • 2.5.2.5 设置开机启动/启动服务
        • 2.5.2.6 验证安装
    • 2.6 镜像加速
        • 2.6.1 安装/升级Docker客户端
        • 2.6.2 配置镜像加速器
    • 2.7 卸载 Docker
        • 2.7.1 卸载Docker Engine、CLI 和 Containerd 包
        • 2.7.2 删除所有镜像、容器和卷
  • 三、其他安装


一、 安装包下载
  • Mac 安装包:https://docs.docker.com/desktop/mac/install/
  • Windows 安装包:https://docs.docker.com/desktop/windows/install/
  • Linux 安装包: https://docs.docker.com/engine/install/
二、CentOS 安装Docker
  • 以CentOS为例,更多安装方式参考:https://docs.docker.com/engine/install/centos/
2.1 环境
  • 要安装Docker Engine ,需要CentOS 7 或 CentOS 8 的维护版本,不支持或测试存档版本 ;
  • 该centos-extras库必须启用,默认情况下是启用的;
  • overlay2推荐使用存储驱动程序;
2.2 卸载旧版本
  • 旧版本的 Docker 被称为 Docker 或 docker-engine。如果安装了这些,请卸载它们及其依赖项;
 sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                 docker-engine
2.3 设置 yum 源
  • 安装 yum-utils包(提供yum-config-manager实用程序)并设置仓库;
 sudo yum install -y yum-utils
 sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

2.4 在线安装 Docker 2.4.1 安装最新版本
  • 安装最新版本的 Docker Engine 和Containerd

    • sudo yum install docker-ce docker-ce-cli containerd.io
2.4.2 安装指定版本
  • 要安装指定版本的 Docker Engine 在repo中列出可用版本,然后选择并安装;
  • 列出并排序存储库中可用的版本 yum list docker-ce --showduplicates | sort -r

  • 通过完全限定的包名称安装特定版本,即包名称(docker-ce)加上从第二例从第一个冒号(:)开始知道第一个连接符(-),例如:docker-ce-18.09.1.
  • 用上面的版本号替换sudo yum install docker-ce- docker-ce-cli- containerd.io
  • 例如:sudo yum install docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io


2.4.3 启动服务/开机启动
  • 启动服务

    • sudo systemctl start docker;
  • 开机自动启动

    • sudo systemctl enable docker;

2.4.4 验证安装
  • 通过 hello-world 镜像验证 Docker Engine 是否已正确安装;

    • sudo docker run hello-world

2.5 离线安装 Docker 2.5.1 rpm 安装 2.5.1.1 查看内核版本
  • 如果无法使用 Docker 的仓库来安装Docker ,可以下载 .rpm 版本的文件并手动安装。每次升级都需要下载一个新文件;

    • Linux 查看版本当前操作系统内核信息 uname -a;
    • Linux 查看当前操作系统版本信息 cat /proc/version;
    • Linux 查看版本当前操作系统发行版信息 cat /etc/issue 或 cat /etc/redhat-release;

2.5.1.2 下载 rpm文件
  • 前往 rpm文件下载地址 并选择您的 CentOS版本。然后浏览 x86_64/stable/Packages/ 并下载 .rpm 要安装的 Docker版本文件;

  • 这个下载网站我打不开,换个地址下载 网易开源镜像站

  • 下载后的文件上传到虚拟机上,我放在了 /root下

    • sudo yum install 文件存放路径


2.5.1.3 启动服务/开机启动
  • 启动服务

    • sudo systemctl start docker;
  • 开机自动启动

    • sudo systemctl enable docker;

2.5.1.4 验证安装
  • 通过 hello-world 镜像验证 Docker Engine 是否已正确安装;

    • sudo docker run hello-world

2.5.2 二进制安装 2.5.2.1 二进制安装条件
  • 64 位安装;
  • 3.10 或更高版本的 Linux 内核;
  • iptables 1.4 或更高版本;
  • git 1.7 或更高版本;
  • 一种ps可执行文件,通常由procps或类似软件包提供。
  • 正确安装的cgroupfs层次结构;一个单一的、包罗万象的cgroup装入点是不够的。
2.5.2.2 下载二进制文件
  • 从 二进制文件下载地址 选择您的硬件平台,并下载.tgz与您要安装的 Docker Engine 版本相关的文件;

2.5.2.3 解压文件
  • 执行命令 tar xzvf 文件 加压文件;

2.5.2.4 复制文件到 /usr/bin
  • 将解压的文件移动到可执行路径上的目录,例如/usr/bin/. 如果跳过此步骤,则必须在调用docker或dockerd命令时提供可执行文件的路径。

    • sudo cp docker/* /usr/bin/
2.5.2.5 设置开机启动/启动服务
  • 下载复制文件 docker.service/docker.socket 复制到 /etc/systemd/system ,修改 docker.service(注释掉:–containerd=/run/containerd/containerd.sock,不知道做啥用,排查了一下午 )
[Unit]
Description=Docker Application Container Engine
documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service
Wants=network-online.target containerd.service
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
#我注释了后面的,容器才能起来,可能因为不存在吧
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Comment TasksMax if your systemd version does not support it.
# only systemd 226 and above support this option.
TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

# kill only the docker process, not all processes in the cgroup
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target
  • 启动服务

    • sudo systemctl start docker;
  • 开机自动启动

    • sudo systemctl enable docker;
2.5.2.6 验证安装
  • 通过 hello-world 镜像验证 Docker Engine 是否已正确安装;

    • sudo docker run hello-world

2.6 镜像加速 2.6.1 安装/升级Docker客户端
  • 推荐安装1.10.0以上版本的Docker客户端;
2.6.2 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] //自己的地址
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2.7 卸载 Docker 2.7.1 卸载Docker Engine、CLI 和 Containerd 包
  • sudo yum remove docker-ce docker-ce-cli containerd.io
2.7.2 删除所有镜像、容器和卷
  • 主机上的映像、容器、卷或自定义配置文件不会自动删除。

  • 删除所有镜像、容器和卷。

    • sudo rm -rf /var/lib/docker
    • sudo rm -rf /var/lib/containerd
三、其他安装
  • 更多安装请参考官网文档,这也是参考官网文档整理;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/276920.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号