本文档描述使用Docker在Linux服务器上进行部署系统的细节,记录具体指令和截图
1、环境准备
1.1、查看系统版本
首先查看Linux内核版本,根据不同的系统,进行不同的安装操作。
输入指令:cat /etc/centos-release
2、安装docker和配置
2.1、安装docker
可以参考一下阿里云上的安装docker的文档,链接:安装Docker并使用镜像仓库ACR_云服务器 ECS(ECS)-阿里云帮助中心
(如果你已经安装了docker,那么需要先卸载,因为我是已经重置过系统,所以这里就忽略了这个步骤)
- 更新您的包管理工具。
输入指令:sudo dnf -y update这个过程需要几分钟,请耐心等待
- 安装 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(逻辑卷管理)的实现,允许用户创建、管理和调整分区大小,而无需重新格式化或重新分区磁盘。
- 修改镜像源
输入指令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装docker
输入指令:sudo dnf -y install docker-ce --nobest
sudo:以超级用户权限运行命令。dnf:Fedora 及其衍生发行版中的包管理工具。-y:自动确认所有提示,选择“是”,使得命令可以自动执行而无需人工干预。install docker-ce:指示dnf安装 Docker 社区版。--nobest:这个选项告诉dnf不要只考虑最佳匹配的包进行安装。通常情况下,dnf会选择满足依赖关系的同时尽可能安装最新版本的包。但是当使用--nobest时,它可能会安装一个较旧但仍然满足依赖关系的版本。这可能适用于需要特定版本的软件包的情况,或者当你想要避免安装最新的大版本更新,因为这些更新可能包含破坏性的变化或不兼容的特性。
- 查看版本
输入指令:docker -v(有版本信息出现,说明安装成功)
- 启动docker
输入指令:sudo systemctl start docker
- 设置docker开启自动启动(如果不需要可以忽略)
输入指令:sudo systemctl enable docker
- 查看docker状态
输入指令:sudo systemctl status docker
- 通过环境检查,查看各个参数,确定安装没有问题
输入指令:docker info 会出现很多参数信息,至此docker安装完成
2.2、配置docker
- 指定数据存放路径和镜像加速配置
默认情况下,数据都是存放在/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
- 迁移docker存储路径到新的磁盘(可忽略)
(我重置过系统,没有安装过docker,所以就忽略了这个步骤)
如果之前已经下载和安装过镜像,那么在指定数据存储目录后,还需要把之前的文件,移动到新目录中。
或者根据业务需要,之前都放在系统盘,导致占用空间过程,需要将文件迁出去。
- 禁用IPV6(可忽略)
现在基本上用不到IPV6,那么在容器列表时,显示出来影响查看,所以禁用掉。
禁用参考阿里云文档:Linux禁用ipv6-阿里云开发者社区
- 创建容器网络(可忽略)
容器默认只能创建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部署服务的操作的都记录下来,一起学习进步