文章目录
- 前言
- 一、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