Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

Netkiller Container 手札

Virtualization、Docker、Kubernetes、KVM、Vagrant、OpenVZ、VirtualBox ...

Mr. Neo Chan, 陈景峯(BG7NYT)



中国广东省深圳市望海路半岛城邦三期
518067
+86 13113668890


2015-07-14

电子书最近一次更新于 2024-10-15 05:57:20

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信公众号: netkiller
微信:13113668890 请注明“读者”
QQ:13721218 请注明“读者”
QQ群:128659835 请注明“读者”
知乎专栏

$Date$


致读者

Netkiller 系列手札 已经被 Github 收录,并备份保存在北极地下250米深的代码库中,备份会保留1000年。

Preserving open source software for future generations

The world is powered by open source software. It is a hidden cornerstone of modern civilization, and the shared heritage of all humanity.

The GitHub Arctic Code Vault is a data repository preserved in the Arctic World Archive (AWA), a very-long-term archival facility 250 meters deep in the permafrost of an Arctic mountain.

We are collaborating with the Bodleian Library in Oxford, the Bibliotheca Alexandrina in Egypt, and Stanford Libraries in California to store copies of 17,000 of GitHub’s most popular and most-depended-upon projects—open source’s “greatest hits”—in their archives, in museum-quality cases, to preserve them for future generations.

https://archiveprogram.github.com/arctic-vault/

目录

1. 自述
1.1. 写给读者
1.2. 作者简介
1.3. 如何获得文档
1.4. 打赏(Donations)
1.5. 联系方式
1. 阿里云 Kubernetes
1.1. 链接到 Kubernetes
1.2. 504 Gateway Time-out
2. Docker
2.1. 安装 Docker
2.1.1. Rocky Linux / AlmiLinux / CentOS 8 Stream
2.1.2. Ubuntu docker-ce
2.1.3. 测试 Docker
2.1.4. 重置 Docker
2.1.5. 早期版本
2.2. Portainer - Docker 图形管理界面
2.2.1. 安装
2.2.2. 配置 Portainer
2.2.3. 添加代理出错
2.3. 配置 Docker
2.3.1. 开启远程访问
2.3.2. 镜像配置
2.3.3. DNS
2.3.4. ulimit 资源
2.3.5. 配置SSL证书
2.4. docker 命令
2.4.1. docker - A self-sufficient runtime for containers
2.4.2. docker-compose - Define and run multi-container applications with Docker.
2.4.3. Docker Scan
2.5. 镜像管理
2.5.1. 搜索镜像
2.5.2. 获取镜像
2.5.3. 列出本地镜像
2.5.4. tag
2.5.5. 保存和载入镜像
2.5.6. 删除本地镜像
2.5.7. history 镜像历史纪录
2.5.8. format 用法
2.5.9. inspect
2.5.10. 查看镜像内容
2.6. 容器管理
2.6.1. 查看容器
2.6.2. 启动与终止容器
2.6.3. 进入容器
2.6.4. 运行容器内的命令
2.6.5. 导出和导入容器
2.6.6. 停止所有容器
2.6.7. 删除容器
2.6.8. log-driver
2.6.9. 操作系统
2.6.10. 查看容器内运行的进程
2.6.11. 更新容器资源配置
2.6.12. 查看容器的退出状态
2.6.13. 暂停与恢复容器
2.6.14. 对比容器的变化
2.6.15. 查看容器状态
2.6.16. 重启容器
2.6.17. DNS
2.7. 卷管理
2.7.1. 列出卷
2.7.2. 创建卷
2.7.3. 挂在镜像
2.7.4. 检查卷
2.7.5. 删除卷
2.7.6. 销毁所有未使用的卷
2.7.7. 在多个容器间共享卷
2.7.8. 容器绑定本地文件系统
2.7.9. 只读权限
2.8. Docker 网络管理
2.8.1. docker0 IP地址
2.8.2. 容器指定固定IP地址
2.8.3. 创建子网
2.8.4. 创建 overlay 网络
2.8.5. 网络命令空间
2.8.6. flannel 网络配置
2.9. 日志管理
2.9.1. 查看默认驱动
2.9.2. Fluentd 配置
2.9.3. Docker 配置
2.9.4. docker-compose 编排
2.9.5. 将日志输出到 /dev/stdout 和 /dev/stderr
2.10. Dockerfile
2.10.1. 基于 Dockerfile 创建镜像
2.10.2. 基于 Alpine 制作镜像
2.10.3. Dockerfile 缺失的工具
2.10.4. Dockerfile 语法
2.11. 仓库
2.11.1. Docker 官方仓库
2.11.2. 私有仓库
2.11.3. Harbor
2.12. Swarms
2.12.1. 管理 Swarms
2.12.2. Stack
2.12.3. 服务
2.12.4. swarm 卷管理
2.13. docker-compose.yml 容器编排
2.13.1. 版本号
2.13.2. 镜像
2.13.3. 容器名称
2.13.4. 启动策略
2.13.5. 容器用户
2.13.6. 挂在卷
2.13.7. 映射端口的标签
2.13.8. 添加 hosts 文件
2.13.9. 网络配置
2.13.10. links 主机别名
2.13.11. 链接外部容器
2.13.12. 服务依赖
2.13.13. working_dir
2.13.14. 设置环境变量
2.13.15. 临时文件系统
2.13.16. 编译 Dockerfile
2.13.17. resources 硬件资源分配
2.14. Docker Example
2.14.1. registry
2.14.2. Example Java - Spring boot with Docker
2.14.3. Redis
2.14.4. Nginx
2.14.5. MySQL
2.14.6. MongoDB
2.14.7. Node
2.15. Docker FAQ
2.15.1. 通过 IP 找容器
2.15.2. 常用工具
2.15.3. 检查 Docker 是否可用
2.15.4. no space left on device
2.15.5. Bitnami
3. Podman
3.1. 安装 Podman
3.1.1. RockyLinux 安装 Podman
3.1.2. Almalinux 9.0
3.1.3. MacOS 安装 Podman
3.1.4. 初始化 Podman
3.1.5. 让 Podman 支持 Docker Compose
3.1.6. 配置 Podman
3.1.7.
3.2. podman 管理
3.2.1. 虚拟机管理
3.2.2. 镜像管理
3.2.3. Registry
3.3. 按例
3.3.1. podman run 用法
3.3.2. mysql
3.3.3. 制作镜像
4. Kubernetes
4.1. Minikube
4.1.1. CentOS 8 安装 minikube
4.1.2. Quickstart
4.1.3. minikube 命令
4.1.4. Minikube 案例演示
4.1.5. FAQ
4.2. microk8s
4.2.1. 安装 microk8s
4.2.2. 组件管理
4.2.3. kubectl
4.2.4. Kubernetes Addons
4.3. Kubernetes 集群管理
4.3.1. 配置
4.3.2. 如何从 docker 过渡到 kubectl 命令
4.3.3. namespace 命名空间
4.3.4. label 标签
4.3.5. 服务管理
4.3.6. serviceaccount
4.3.7. Pod 管理
4.3.8. 部署管理
4.3.9. secret 密钥管理
4.3.10. ConfigMap
4.3.11. Job/CronJob
4.3.12. clusterrolebinding
4.3.13. Volume
4.3.14. Ingress
4.4. kubectl example
4.4.1. 私有 registry
4.4.2. mongodb
4.4.3. tomcat
4.5. istio
4.5.1. 启动 istio
4.5.2. 禁用 istio
4.6. Kubeapps
4.7. Helm - The package manager for Kubernetes
4.7.1. 安装 Helm
4.7.2. 快速开始
4.7.3. Helm 命令
4.7.4. ingress-nginx
4.7.5. elastic
4.7.6. Helm The package manager for Kubernetes
4.7.7. Helm Faq
4.8. 常见问题
4.8.1. 从局域网访问POD
5. Rancher - Multi-Cluster Kubernetes Management
5.1. 安装 Rancher
5.1.1. Rancher Server
5.1.2. Rancher Kubernetes Engine (RKE) 2
5.1.3. Rancher Kubernetes Engine (RKE) 1
5.1.4. Rancher CLI
5.1.5. rancher-compose
5.2. 快速入门
5.2.1. API
5.3. Rancher Compose
5.3.1. Rancher Compose 命令
5.3.2. 操作演示
5.4. Rancher CLI
5.4.1. 登陆 Rancher
5.4.2. 查看集群
5.4.3. 查看节点
5.4.4. catalog
5.4.5. 查看设置
5.4.6. rancher kubectl
5.5. K3s
5.5.1. AutoK3s
5.5.2. 安装 K3s(Docker 模式)
5.5.3. 安装 K3s(VM 模式)
5.5.4. k3d
5.5.5. TLS 证书
5.5.6. 创建 Token
5.5.7. FAQ
5.6. Rancher Demo
5.6.1. Rancher 部署 Nginx
5.6.2. local-path-provisioner
5.7. Longhorn
5.7.1. 安装 Longhorn
5.7.2. 选择磁盘类型
5.7.3. 节点选择
5.7.4. FAQ
5.8. FAQ
5.8.1. 调试 Rancher 查看日志
5.8.2. [network] Host [rancher.netkiller.cn] is not able to connect to the following ports: [rancher.netkiller.cn:2379]. Please check network policies and firewall rules
5.8.3. cgroups v2
6. netkiller 容器编排工具
6.1. 安装 netkiller-devops
6.2. 使用 python 优雅地编排 Docker 容器
6.2.1. 安装依赖库
6.2.2. 创建一个 Services
6.2.3. 创建 Composes
6.2.4. 容器管理
6.2.5. 演示例子
6.2.6. 使用 Python 编排 Dockerfile
6.2.7.
6.2.8. logstash
6.3. 使用 Python 优雅地编排 Kubernetes
6.3.1. 快速演示编排Nginx
6.3.2. 创建命名空间
6.3.3. ConfigMap/Secret 编排演示
6.3.4. Pod 挂载 ConfigMap 编排演示
6.3.5. Pod 挂载 ConfigMap 设置环境变量
6.3.6. Ingress 挂载 SSL 证书
6.3.7. StatefulSet 部署 Redis
6.3.8. StorageClass
6.3.9. 部署 MySQL 到 kubernetes
6.3.10. MongoDB
6.3.11. Nacos
6.3.12. Redis
6.3.13. Kubernetes 部署 kube-explorer 图形化界面
6.3.14. ELK
6.3.15. sonarqube
7. Virtual Machine(虚拟机)
7.1. Kernel-based Virtual Machine(KVM)
7.1.1. kvm install usage yum
7.1.2. Ubuntu
7.1.3. CentOS 6.2
7.1.4. Scientific Linux Virtualization
7.1.5. libvirt
7.1.6. FAQ
7.2. Xen
7.2.1. install
7.2.2. Manager
7.3. OpenVZ
7.3.1. 安装OpenVZ
7.3.2. 使用OpenVZ & 建立VPS
7.3.3. 设置VPS参数
7.4. vagrant - Tool for building and distributing virtualized development environments
7.4.1. vagrant for windows
7.5. 虚拟机管理
7.5.1. Proxmox - Open-source virtualization management platform Proxmox VE
7.5.2. OpenStack
7.5.3. CloudStack
7.5.4. OpenNode
7.5.5. OpenNEbula

范例清单

4.1. minikube 操作演示
6.1. Redis Master/Slave
7.1. virsh