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

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

相关推荐
阿俊仔(摸鱼版)5 分钟前
Python 常用运维模块之Shutil 模块
linux·服务器·python·自动化·云服务器
zhangxueyi11 分钟前
如何理解Linux的根目录?与widows系统盘有何区别?
linux·服务器·php
可涵不会debug11 分钟前
C语言文件操作:标准库与系统调用实践
linux·服务器·c语言·开发语言·c++
ghx_echo15 分钟前
linux系统下的磁盘扩容
linux·运维·服务器
幻想编织者1 小时前
Ubuntu实时核编译安装与NVIDIA驱动安装教程(ubuntu 22.04,20.04)
linux·服务器·ubuntu·nvidia
利刃大大2 小时前
【Linux入门】2w字详解yum、vim、gcc/g++、gdb、makefile以及进度条小程序
linux·c语言·vim·makefile·gdb·gcc
飞行的俊哥7 小时前
Linux 内核学习 3b - 和copilot 讨论pci设备的物理地址在内核空间和用户空间映射到虚拟地址的区别
linux·驱动开发·copilot
hunter2062069 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
不会飞的小龙人10 小时前
Docker Compose创建镜像服务
linux·运维·docker·容器·镜像
不会飞的小龙人10 小时前
Docker基础安装与使用
linux·运维·docker·容器