Linux服务器安装docker

502 阅读5分钟

本文档描述使用Docker在Linux服务器上进行部署系统的细节,记录具体指令和截图

1、环境准备

1.1、查看系统版本

首先查看Linux内核版本,根据不同的系统,进行不同的安装操作。

输入指令:cat /etc/centos-release

image.png

2、安装docker和配置

2.1、安装docker

可以参考一下阿里云上的安装docker的文档,链接:安装Docker并使用镜像仓库ACR_云服务器 ECS(ECS)-阿里云帮助中心

(如果你已经安装了docker,那么需要先卸载,因为我是已经重置过系统,所以这里就忽略了这个步骤)

  1. 更新您的包管理工具。

输入指令:sudo dnf -y update这个过程需要几分钟,请耐心等待

image.png

  1. 安装 Docker 依赖的包:yum-utils 软件包

输入指令:yum install -y yum-utils device-mapper-persistent-data lvm2

  • yum:这是 Red Hat 系列 Linux 发行版中的默认包管理工具,用来处理软件包的安装、更新和移除等操作。
  • install:指示 yum 安装指定的软件包。
  • -y:自动确认所有提示,选择“是”,使得命令可以自动执行而无需人工干预。
  • yum-utils:这是一个包含一系列用于增强 Yum 功能的工具的软件包集合。它提供了诸如 yum-config-manager 和 repoquery 等有用的命令。
  • device-mapper-persistent-data:这是一个提供设备映射器支持的软件包,对于 LVM(逻辑卷管理)和其他需要持久化存储的特性非常重要。
  • lvm2:这是 LVM(逻辑卷管理)的实现,允许用户创建、管理和调整分区大小,而无需重新格式化或重新分区磁盘。

image.png

  1. 修改镜像源

输入指令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

image.png

  1. 安装docker

输入指令:sudo dnf -y install docker-ce --nobest

  • sudo:以超级用户权限运行命令。
  • dnf:Fedora 及其衍生发行版中的包管理工具。
  • -y:自动确认所有提示,选择“是”,使得命令可以自动执行而无需人工干预。
  • install docker-ce:指示 dnf 安装 Docker 社区版。
  • --nobest:这个选项告诉 dnf 不要只考虑最佳匹配的包进行安装。通常情况下,dnf 会选择满足依赖关系的同时尽可能安装最新版本的包。但是当使用 --nobest 时,它可能会安装一个较旧但仍然满足依赖关系的版本。这可能适用于需要特定版本的软件包的情况,或者当你想要避免安装最新的大版本更新,因为这些更新可能包含破坏性的变化或不兼容的特性。

image.png

  1. 查看版本

输入指令:docker -v(有版本信息出现,说明安装成功)

image.png

  1. 启动docker

输入指令:sudo systemctl start docker

  1. 设置docker开启自动启动(如果不需要可以忽略)

输入指令:sudo systemctl enable docker

  1. 查看docker状态

输入指令:sudo systemctl status docker

image.png

  1. 通过环境检查,查看各个参数,确定安装没有问题

输入指令:docker info 会出现很多参数信息,至此docker安装完成

image.png

2.2、配置docker

  1. 指定数据存放路径和镜像加速配置

默认情况下,数据都是存放在/var/lib/docker。如果系统盘空间较小,后续镜像及数据文件,占用空间较多,可能影响磁盘;另外系统初始化,也会丢失数据文件。 所以,指定Docker的数据文件,到另一个新的磁盘中。

修改Docker的配置文件:

输入指令:vi /etc/docker/daemon.json 进入文本之后按 i 进入输入模式,输入文本后,按esc,然后:wq 保存文件。(由于前段时间很多国内镜像加速都被禁用了,这里推荐多配置一些)

{
  "data-root": "/d/docker",
  "registry-mirrors": [
    "https://ustc-edu-cn.mirror.aliyuncs.com/",
    "https://ccr.ccs.tencentyun.com/",
    "https://docker.m.daocloud.io/",
    "https://dockerhub.azk8s.cn",
    "https://mirror.baidubce.com",
    "https://docker.nju.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://dockerhub.icu",
    "https://docker.anyhub.us.kg",
    "https://hub.gog.email",
    "https://dockerpull.com",
    "https://atomhub.openatom.cn"
  ]
}

重启docker,生效配置

输入指令:service docker restart

查看是否生效。执行该命令,查看指定目录中哪。

输入指令:docker info |grep Dir

image.png

  1. 迁移docker存储路径到新的磁盘(可忽略)

(我重置过系统,没有安装过docker,所以就忽略了这个步骤)

如果之前已经下载和安装过镜像,那么在指定数据存储目录后,还需要把之前的文件,移动到新目录中。

或者根据业务需要,之前都放在系统盘,导致占用空间过程,需要将文件迁出去。

  1. 禁用IPV6(可忽略)

现在基本上用不到IPV6,那么在容器列表时,显示出来影响查看,所以禁用掉。

禁用参考阿里云文档:Linux禁用ipv6-阿里云开发者社区

  1. 创建容器网络(可忽略)

容器默认只能创建30个网段。如果不指定网络,每次创建容器时,都会创建一个“容器名称_default”的网络,一旦达到30个,就会提示IP地址资源池不足。

解决办法,一个是修改Docker的配置文件,多指定几个网段。

另一个是每次创建容器时,指定网络。为了减少网段资源池的创建,那么可以创建一个网络:docker_compose_network,后续容器都指定该网络。

输入指令:docker network create docker_compose_network --subnet 172.20.0.0/24 --gateway 172.20.0.1


结束语:感谢大家的阅读,如果有不正确的地方欢迎大家指出,有疑问也可以留言,后续我也会继续把我用docker部署服务的操作的都记录下来,一起学习进步