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

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

相关推荐
IC 见路不走1 小时前
LeetCode 第91题:解码方法
linux·运维·服务器
没有名字的小羊1 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat
翻滚吧键盘1 小时前
查看linux中steam游戏的兼容性
linux·运维·游戏
小能喵1 小时前
Kali Linux Wifi 伪造热点
linux·安全·kali·kali linux
汀沿河1 小时前
8.1 prefix Tunning与Prompt Tunning模型微调方法
linux·运维·服务器·人工智能
zly35002 小时前
centos7 ping127.0.0.1不通
linux·运维·服务器
小哥山水之间2 小时前
基于dropbear实现嵌入式系统ssh服务端与客户端完整交互
linux
ldj20202 小时前
2025 Centos 安装PostgreSQL
linux·postgresql·centos
翻滚吧键盘3 小时前
opensuse tumbleweed上安装显卡驱动
linux
企鹅侠客3 小时前
实践篇:14-构建 Node.js 应用程序镜像
docker·node.js·dockerfile