云原生之容器编排实践-在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!

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
目录
相关文章
|
12天前
|
存储 人工智能 运维
ACK云原生AI套件初评
通过场景体验云原生AI套件
42 0
|
21天前
|
边缘计算 运维 Kubernetes
阿里云原生容器服务产品体系-阿里云边缘容器服务ACK@Edge介绍
阿里云原生容器服务产品体系-阿里云边缘容器服务ACK@Edge介绍
386 0
阿里云原生容器服务产品体系-阿里云边缘容器服务ACK@Edge介绍
|
21天前
|
运维 Kubernetes Serverless
阿里云原生容器服务产品体系-Serverless Kubernetes 集群
阿里云原生容器服务产品体系-Serverless Kubernetes 集群
289 0
阿里云原生容器服务产品体系-Serverless Kubernetes 集群
|
21天前
|
Kubernetes Cloud Native 安全
阿里云原生容器服务产品体系-ACK Pro 托管集群
阿里云原生容器服务产品体系-ACK Pro 托管集群
54 0
阿里云原生容器服务产品体系-ACK Pro 托管集群
|
21天前
|
弹性计算 Kubernetes 安全
阿里云原生容器服务产品体系- ACK 集群
阿里云原生容器服务产品体系- ACK 集群
65 0
阿里云原生容器服务产品体系- ACK 集群
|
23天前
|
人工智能 运维 Cloud Native
ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径
ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径
|
24天前
|
Kubernetes API 调度
云原生容器Clouder认证:容器应用与集群管理—课时10:Kubernetes简介(选学)
云原生容器Clouder认证:容器应用与集群管理—课时10:Kubernetes简介(选学)
32 0
|
24天前
|
Kubernetes Cloud Native 调度
云原生容器Clouder认证:容器应用与集群管理—课时3:什么是容器编排技术
云原生容器Clouder认证:容器应用与集群管理—课时3:什么是容器编排技术
46 0
|
2月前
|
Kubernetes Cloud Native 安全
概念解读-云原生和容器编排
有些概念没有标准答案,每个地方解释的也都很模糊,概念也一直被滥用,比如说云原生的概念。有些概念听起来高大上,实际上很普通,比如说容器编排的概念。本文我对这两个概念作个解释。
概念解读-云原生和容器编排
|
2月前
|
人工智能 Cloud Native 搜索推荐
ACK 云原生 AI 套件开放式评测
ACK 云原生 AI 套件开放式评测
39 1
相关产品
云迁移中心
推荐文章
更多