云原生之容器编排实践-在CentOS7上安装使用Docker

简介: 云原生之容器编排实践-在CentOS7上安装使用Docker

0_@XYF86VKW4E@QH0CX@9~I.png

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情


背景


之前曾在 Windows 上安装过 Docker如何顺利地将Docker安装至Win7(x64)?,如今更多地是在 Linux 环境下进行实际的部署与运维工作。


`Y57EPX0LB5RE0TP4$T)NZP.png

容器化技术的三个阶段:物理机时代,虚拟机时代,容器化时代。


OJ)JRMBQW]0J9~YB(VX9RB4.png

容器是 APP 层面的隔离,虚拟化是物理资源层面的隔离。两者解决的问题不一样,在未来,两者将各自持续发展。


  1. docker
  2. compose
  3. swam
  4. kubernetes

IP1GJ0OG805J%}M4OLEB[I3.png

容器化技术的应用场景:标准化的迁移方式,统一的参数配置,自动化部署,应用集群监控,开发与运维之间的桥梁。


索引


本系列文章从一个容器化、云原生初学者的角度出发,介绍云原生基础设施、容器编排平台以及云原生应用的相关实践,侧重于云原生应用容器化部署的快速入门。


  • 云原生之容器编排实践-在CentOS7上安装使用Docker
  • 云原生之容器编排实践-通过IDEA连接Docker服务
  • 云原生之容器编排实践-SpringBoot应用Docker化
  • 云原生之容器编排实践-阿里云私有容器镜像仓库
  • 云原生之容器编排实践-在CentOS7上安装minikube
  • 云原生之容器编排实践-minikube传递秘钥使用阿里云私有镜像仓库
  • 云原生之容器编排实践-Docker使用JDK-Alpine镜像的时区问题
  • 云原生之容器编排实践-SpringBoot应用以YAML描述文件部署pod到minikube
  • 云原生之容器编排实践-SpringBoot应用以Deployment方式部署到minikube以及弹性伸缩
  • 云原生之容器编排实践-以k8s的Service方式暴露SpringBoot服务
  • 云原生之容器编排实践-Kubernetes资源管理:标签选择器,注解以及命名空间

系统环境


采用一台虚拟机进行实践。。

  • 系统信息


[root@k8s0 local]# uname -a
Linux k8s0 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@k8s0 local]# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020
[root@k8s0 local]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
  • 配置信息


内存:4G
处理器:2*2
硬盘:100G

安裝Docker


# 安装依赖项
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
# 安装Docker
yum install docker-ce
# 查看版本信息
[root@k8s0 ~]# docker -v
Docker version 20.10.17, build 100c701
# 启动Docker
systemctl status docker
systemctl start docker
# 开机自启
systemctl enable docker
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

拉取镜像并运行容器


[root@k8s0 ~]# docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
[root@k8s0 ~]# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

基本命令


# 列出本地已有镜像
docker images
# 从远端下载镜像
docker pull <image name>
# 使用镜像创建并启动一个容器(若本地没有该镜像,则会先从远端下载,每次run都会生成一个容器,嗯,轻量~)
docker run hub.c.163.com/library/hello-world:latest
# 列出正在运行的容器
docker ps
# 列出所有容器(包括Exited)
docker ps -a
# 启动指定的容器
docker start <container id>
# 停止指定的容器
docker stop <container id>
# 停止所有运行中的容器
docker stop $(docker ps -q)
# 删除指定容器
docker rm <container id>
# 删除所有容器
docker rm $(docker ps -aq)
# 停止并删除容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
# 删除指定镜像(删除镜像前须先停止并删除容器)
docker rmi <image id>

Reference



If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
打赏
0
0
0
0
8
分享
相关文章
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
80 15
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
155 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
95 5
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
170 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
入门级容器技术解析:Docker和K8s的区别与关系
本文介绍了容器技术的发展历程及其重要组成部分Docker和Kubernetes。从传统物理机到虚拟机,再到容器化,每一步都旨在更高效地利用服务器资源并简化应用部署。容器技术通过隔离环境、减少依赖冲突和提高可移植性,解决了传统部署方式中的诸多问题。Docker作为容器化平台,专注于创建和管理容器;而Kubernetes则是一个强大的容器编排系统,用于自动化部署、扩展和管理容器化应用。两者相辅相成,共同推动了现代云原生应用的快速发展。
175 11
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
295 78
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
83 3
实战~如何组织一个多容器项目docker-compose
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
102 14
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等