kubernetes学习笔记

docker

docker engine

图片来自[https://www.qikqiak.com/k8s-book/docs/2.Docker%20%E7%AE%80%E4%BB%8B.html](https://www.qikqiak.com/k8s-book/docs/2.Docker 简介.html)

命令

1
$ docker pull [选项] [Docker Registry 地址[:端口]/]仓库名[:标签]

运行

1
2
3
4
docker run -i -t --rm 镜像:标签 /bin/bash
$ docker run ubuntu:16.04 /bin/echo 'Hello world'
-d 后台运行
docker commit修复运行的镜像读写层后提交

列出镜像

1
2
3
 docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/redis latest 3c41ce05add9 5 months ago 95 MB

当利用docker run来创建容器时,Docker 在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个 ip 地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

dockerfile

Union FS 是有最大层数限制的,比如 AUFS,曾经是最大不得超过 42 层,现在是不得超过 127 层

  1. FROM 指定基础镜像
    1. 官方高质量镜像
    2. scratch 一个虚拟的镜像,表示空白
  2. RUN 运行命令(使用&&连接生成一层FS, 支持\ 换行 ,# 注释)
    1. shell:RUN <命令>
    2. exec:RUN [“可执行文件”, “参数1”, “参数2”]

构建镜像

1
docker build [选项] <上下文路径/URL/->

镜像构建上下文目录是相对engine来说的,不是本地的路径,必须改./开头.

使用-f可以指定任意名称的文件为dockerfile文件.

资源类型
secrets
clusterrolebinding
serviceaccount

#

1
2
kubectl delete namespaces <insert-some-namespace-name>
删除namespace将删除其下的所有资源

kubernetes-dashboard v1.10在k8s 1.16中无法登陆

1
2
3
https://github.com/kubernetes/dashboard/issues/4406
floreks commented on Oct 10, 2019
Dashboard v1 is not being maintained and will not work with newer versions of K8S. v2 will be updated and new beta will be released once #4377 is merged.
坚持原创技术分享,您的支持将鼓励我继续创作!