【10分钟掌握Docker、k8s的基础命令】

文章目录

  • 前言
  • 一、Docker
    • [1.1 docker操作命令](#1.1 docker操作命令)
    • [1.2 docker查看命令](#1.2 docker查看命令)
    • [1.3 docker实战](#1.3 docker实战)
  • 二、kubernetes
    • [2.1 k8s基础命令](#2.1 k8s基础命令)
    • [2.2 k8s简单操作命令](#2.2 k8s简单操作命令)

前言

Docker介绍
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docke r 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器 是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Kubernetes介绍

Kubernetes是用于自动部署、编排、扩展和容器化应用程序的开源系统


一、Docker

1.1 docker操作命令

代码如下(示例):

c 复制代码
docker run      容器名称 / 容器ID	 #创建一个新的容器并运行一个命令	
docker start    容器名称 / 容器ID	 #启动一个或多个已经被停止的容器	
docker stop     容器名称 / 容器ID	 #停止一个运行中的容器	                    
docker restart  容器名称 / 容器ID	 #重启容器	                                
docker kill     容器名称 / 容器ID	 #杀掉一个运行中的容器	                    
docker rm       容器名称 / 容器ID	 #删除一个或多个容器	                        
docker pause    容器名称 / 容器ID	 #暂停容器中所有的进程	                    
docker unpause  容器名称 / 容器ID	 #恢复容器中所有的进程	                    
docker create   容器名称 	     #创建一个新的容器但不启动它	
docker exec	-it 容器名称 / 容器ID /bin/bash  #在运行的容器中执行命令

1.2 docker查看命令

代码如下(示例):

c 复制代码
docker ps 	         #列出运行中的容器
docker ps -a      	 #列出所有容器(包括停止的容器)	
docker logs	         #获取容器的日志	
docker login	     #登陆Docker镜像仓库,默认为官方仓库 Docker Hub	
docker logout 	     #登出Docker镜像仓库,默认为官方仓库 Docker Hub
docker pull 镜像名称	 #从镜像仓库中拉取或者更新指定镜像
docker search 容器名称	#从Docker Hub查找镜像	         
docker images 	     #列出本地镜像
docker rmi 镜像id     #删除对应镜像	
docker build	     #命令用于使用 Dockerfile 创建镜像
docker info	         #显示 Docker 系统信息,包括镜像和容器数
docker version	     #显示 Docker 版本信息
docker stats         #查看容器资源使用情况
docker network ls    #查看docker网络
docker volume ls     #查看容器卷
docker logs -f --tail 10 容器id  #查看docker日志

1.3 docker实战

代码如下(示例):

c 复制代码
#获取镜像
sudo docker pull ubuntu_14.04

#显示本地已有的镜像
sudo docker images

#使用下载的镜像启动容器
sudo docker run -t -i training/sinatra /bin/bash

#从本地文件导入(从本地文件系统导入一个镜像,可以使用 openvz)
 sudo cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu-14.04
 
#上传镜像
sudo docker push ouruser/sinatra

#存出镜像(导出镜像到本地文件)
sudo docker save -o ubuntu_14.04.tar ubuntu:14.04

#载入镜像(本地文件导入到本地镜像库)
sudo docker load --input ubuntu_14.04.tar  /   sudo docker load < ubuntu_14.04.tar

*注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。

#移除本地镜像
sudo docker rmi/remove training/sinatra

二、kubernetes

2.1 k8s基础命令

代码如下(示例):

c 复制代码
#执行文件
kubectl apply -f ***.yml

#查看容器空间的pvc
kubectl get pvc -n wordpress

#查看对应名称空间对应的pod信息
kubectl get pod -n wordpress

#查看 ingress-nginx-controller 的Pod运行在那个节点
kubectl get pod -n ingress-nginx -o wide

#查看对应名称空间对应的pod详细信息显示
kubectl describe pod -n wordpress

#查看 ingress-nginx-controller 的Pod运行在那个节点
kubectl get pod -n ingress-nginx -o wide

#查看系统pod状态
kubectl get pods --all-namespaces -o wide

kubectl get pod -n kube-system

#删除coredns
kubectl -n kube-system  delete deployment coredns
  

2.2 k8s简单操作命令

代码如下(示例):

c 复制代码
# 创建Deployment和Service资源
kubectl create -f javak8s-deployment.yaml
kubectl create -f javak8s-service.yaml

# 根据yaml文件删除对应的资源,但是yaml文件并不会被删除,这样更加高效
kubectl delete -f javak8s-deployment.yaml 
kubectl delete -f javak8s-service.yaml

# 也可以通过具体的资源名称来进行删除,使用这个删除资源,需要同时删除pod和service资源才行
kubectl delete 具体的资源名称

# 查看所有的资源信息
kubectl get all

# 查看pod列表
kubectl get pod

# 显示pod节点的标签信息
kubectl get pod --show-labels

# 根据指定标签匹配到具体的pod
kubectl get pods -l app=example

# 查看node节点列表
kubectl get node 

# 显示node节点的标签信息
kubectl get node --show-labels

# 查看pod详细信息,也就是可以查看pod具体运行在哪个节点上(ip地址信息)
kubectl get pod -o wide

# 查看服务的详细信息,显示了服务名称,类型,集群ip,端口,时间等信息
kubectl get svc

# 查看命名空间
kubectl get ns

# 查看所有pod所属的命名空间
kubectl get pod --all-namespaces

# 查看所有pod所属的命名空间并且查看都在哪些节点上运行
kubectl get pod --all-namespaces  -o wide

# 查看目前所有的replica set,显示了所有的pod的副本数,以及他们的可用数量以及状态等信息
kubectl get rs

# 查看目前所有的deployment
kubectl get deployment

# 查看已经部署了的所有应用,可以看到容器,以及容器所用的镜像,标签等信息
 kubectl get deploy -o wide

相关推荐
inxunoffice22 分钟前
批量给 PDF 添加或删除密码保护,支持设置打开密码、只读密码、限制复制和打印
运维·服务器·pdf
tingting01192 小时前
k8s 1.30 安装ingress-nginx
nginx·容器·kubernetes
Brandon汐3 小时前
Linux中常用的文件管理命令
linux·运维·服务器
Vacancy空白4 小时前
【Ubuntu常用命令】
linux·运维·ubuntu·ssh
老天文学家了4 小时前
课表周视图数据【示例】
linux·运维·服务器
爪娃侠4 小时前
解决wsl2下CentOS 7 的 yum 仓库无法连接问题
linux·运维·centos
陈陈CHENCHEN4 小时前
【Kubernetes】CentOS 7 安装 Kubernetes 1.30.1
kubernetes
fengyehongWorld4 小时前
Linux 随机数据生成
linux·运维
2201_761199045 小时前
k8s2部署
云原生·容器·kubernetes
智联视频超融合平台5 小时前
视频联网平台智慧运维系统:智能时代的城市视觉中枢
运维·网络协议·安全·音视频·智慧城市·视频编解码