docker在Linux (Centos7)部署全流程

在很久很久以前,我已经听过Docker的大名,当时服务着急上线虽然考虑过用Docker来部署服务,但是因为赶期的原因放弃了。

这两天因为华为云服务器到期,而且阿里云服务器优惠力度特别大的原因,我要把华为云服务器里的工程迁移到阿里云。

迁移的过程中,我在想,如果当时用了Docker部署,我至于受这气?

虽然,我目前只是了解了一个Docker的概念,但是我想通过补课,应该能完成使用Docker来部署环境与服务,在以后实现项目服务的一键迁移

前情提要

参考官网:安装 Docker 引擎 |Docker 文档

需要注意的是Docker桌面目前仅支持以下几个操作系统.

我的服务器是CentOS,所以这个桌面应该是用不了了,但是影响应该不大。因为Docker引擎目前支持绝大多数操作系统。

Docker部署流程

1. CentOS安装Docker的先决条件

1.1 确认自己的系统版本

如果需要安装Docker引擎,需要的系统版本必须是7、8、9的版本。并且官方建议Linux内核为3.10及以上。

sh 复制代码
lsb_release -a

版本为7.9,符合条件。

sh 复制代码
uname -r

内核为3.10。符合条件。

1.2 启用centos-extras存储库

官方说明,该存储库默认情况下处于启用状态,但是如果你之前禁用过它,则需要重新启用它。

sh 复制代码
yum repolist enabled

可以看到,extras存储库已启用

如果你之前不巧,使用过以下命令或者其他命令禁用过extras存储库:

sh 复制代码
sudo vi /etc/yum.repos.d/CentOS-Base.repo

enabled为1 表示正在启用,为0表示已被禁用。

在进行更改后,建议清除YUM缓存,以确保使用最新的仓库配置。

sh 复制代码
sudo yum clean all

温馨提示,不要随便禁用库。

2.卸载旧版本(如果之前安装过的话)

sh 复制代码
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

因为,我没安装过旧版Docker,所以这里显示没有删除任何东西。

3. 选择安装方式

  1. 官方推荐通过设置Docke存储库的方式安装,便于安装和升级。
  2. 也可以在官方下载 RPM 包,手动安装,然后管理纯靠手动升级。适合安装在无法访问外网的内网系统上。
  3. 在测试和开发环境中,您可以使用自动化的便捷脚本来安装 Docker。

这边使用官方推荐的存储库安装。

4. 安装流程

4.1 设置仓库

首先需要安装一个工具包yum-util,它提供了yum-config-manager功能:

sh 复制代码
sudo yum install -y yum-utils

这个是官网的中央仓库,国内速度会有一些慢。

sh 复制代码
sudo yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo

国内的朋友推荐再加一个阿里云的镜像仓库,体验会好很多。

sh 复制代码
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.2 选择版本安装

官网给出了直接安装最新版本和安装指定版本的指令。

  1. 直接安装最新版本

需要一起安装 Docker Engine、containerd 和 Docker Compose

sh 复制代码
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 选择指定版本安装

首先列出所有版本

sh 复制代码
yum list docker-ce --showduplicates | sort -r

框住的就是版本号,选择指定版本,然后使用下面的命令进行安装。

sh 复制代码
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

<VERSION_STRING>部分换为指定版本号即可。

5. 启动运行docker

  1. 启动 Docker。
sh 复制代码
sudo systemctl start docker
  1. 通过运行映像来验证 Docker 引擎安装是否成功。hello-world
sh 复制代码
sudo docker run hello-world

6. 卸载 Docker 引擎

  1. 卸载 Docker Engine、CLI、containerd 和 Docker Compose 包:
sh 复制代码
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
  1. 主机上的image、容器或自定义配置文件不会自动删除。要删除所有image、容器和卷,请执行以下操作:
sh 复制代码
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

您必须手动删除任何编辑的配置文件。'

相关推荐
2301_794333912 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
JCGKS3 小时前
Docker|“ssh: connect to host xxx.xxx.xxx.xxx port 8000: Connection refused“问题解决
docker·ssh·端口·listen·tcp三次握手
荣光波比3 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
惜.己3 小时前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
scugxl4 小时前
centos7 docker离线安装
运维·docker·容器
绿箭柠檬茶6 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
计算机小手6 小时前
AI 驱动数据分析:开源 SQLBot 项目探索,基于大模型和 RAG 实现精准问数与图表挖掘
经验分享·docker·开源软件
工藤新一¹7 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
AI大模型7 小时前
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
docker·llm·deepseek
Aspiresky7 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather