docker
图片来自[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 | docker run -i -t --rm 镜像:标签 /bin/bash |
列出镜像
1 | docker image ls |
当利用docker run
来创建容器时,Docker 在后台运行的标准操作包括:
- 检查本地是否存在指定的镜像,不存在就从公有仓库下载
- 利用镜像创建并启动一个容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 从地址池配置一个 ip 地址给容器
- 执行用户指定的应用程序
- 执行完毕后容器被终止
dockerfile
Union FS 是有最大层数限制的,比如 AUFS,曾经是最大不得超过 42 层,现在是不得超过 127 层
- FROM 指定基础镜像
- 官方高质量镜像
- scratch 一个虚拟的镜像,表示空白
- RUN 运行命令(使用&&连接生成一层FS, 支持\ 换行 ,# 注释)
- shell:RUN <命令>
- exec:RUN [“可执行文件”, “参数1”, “参数2”]
构建镜像
1 | docker build [选项] <上下文路径/URL/-> |
镜像构建上下文目录是相对engine来说的,不是本地的路径,必须改./开头.
使用-f可以指定任意名称的文件为dockerfile文件.
资源类型 | ||
---|---|---|
secrets | ||
clusterrolebinding | ||
serviceaccount |
#
1 | kubectl delete namespaces <insert-some-namespace-name> |
kubernetes-dashboard v1.10在k8s 1.16中无法登陆
1 | https://github.com/kubernetes/dashboard/issues/4406 |