Roy学Docker(4):容器使用

Docker提供强大的命令行工具docker来管理你的容器,我们来看如何用它来管理容器,先查看容器管理帮助:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[root@node1 ~]# docker container --help

Usage: docker container COMMAND

Manage containers

Options:
--help Print usage

Commands:
attach Attach to a running container
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
exec Run a command in a running container
export Export a container's filesystem as a tar archive
inspect Display detailed information on one or more containers
kill Kill one or more running containers
logs Fetch the logs of a container
ls List containers
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
prune Remove all stopped containers
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
run Run a command in a new container
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes

Run 'docker container COMMAND --help' for more information on a command.

阅读全文

Roy学Kubernetes(5):Kubernetes安装

虽然kubernetes安装方式有多种,推荐使用kubeadm安装,操作非常方便,极大的提高了部署效率,以下为测试验证过程。

软件版本:

阅读全文

Roy学Docker(3):配置Docker服务

Docker服务的一些默认配置,可能不太适合我们使用。例如默认仓库源在国外,访问极慢;默认家目录为/var/lib/docker,可能不是我们想要的存储位置等等。虽然Docker支持服务运行时添加参数来自定义修改这些配置,但我推荐另一种json格式的配置方式:配置文件daemon.json,通俗易懂,配置方便(二种类型的配置参数不能冲突)。

阅读全文

Roy学Docker(2):Docker在CentOS下的安装

Docker现在已支持Linux、MacOS、Windows多个平台安装,但是为拥有更好的使用体验,建议大家在各类linux(包括MacOS)上测试使用Docker。此次仅以CentOS7上安装为例。CentOS从6.5(64bit)版本开始支持Docker,为了体验更好的Docker功能,建议使用CentOS7来安装。

阅读全文

Roy学Kubernetes(4):Kubernetes对象属性

在Kubernetes系统中,Kubernetes对象是持久化的实体。Kubernetes使用这些实体去表示整个集群的状态。它们描述了如下信息:

  • 哪些容器化应用在运行(以及在哪个节点上)
  • 可以被应用使用的资源
  • 关于应用运行时表现的策略,比如重启策略、升级策略,以及容错策略

阅读全文

Roy学Kubernetes(3):Kubernetes对象

Kubernetes包含若干抽象用来表示系统状态,包括:已部署的容器化应用和负载、与它们相关的网络和磁盘资源以及有关集群正在运行的其他操作的信息。这些抽象使用Kubernetes API(kube-apiserver提供)对象来表示。

Kubernetes规定了一套规范的资源对象,例如你的复合应用都放在Pod中,如果你需要在Kubernetes集群中提供服务,则可以对此Pod组创建Service,如果要持久化数据,则可以创建对应的Volume,想要伸缩Service下的Pod数量,可以创建对应的Deployment等等。

阅读全文

有状态服务(Stateless Service)和无状态服务(Stateful Service)

无状态服务(Stateless Service)

是指该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的。这类服务在网易蜂巢云平台创建后,借助k8s内部的负载均衡,当访问该服务的请求到达服务一端后,负载均衡会随机找到一个实例来完成该请求的响应(目前为轮询)。这类服务的实例可能会因为一些原因停止或者重新创建(如扩容时),这时,这些停止的实例里的所有信息(除日志和监控数据外)都将丢失(重启容器即会丢失)。因此如果您的容器实例里需要保留重要的信息,并希望随时可以备份以便于以后可以恢复的话,那么建议您创建有状态服务。

阅读全文

Roy学Kubernetes(2):Kubernetes组件

K8s本身有许多二进制组件,用于提供完整的功能,我们初学者可能会觉得组件太多,眼花瞭乱;我们必须要了解这些组件的作用,才能更好理解K8s的工作原理。在了解K8s组件之前,我们先需要知道K8s部署在节点后有二种类型的角色:

  • Master
  • Node(或worker)

阅读全文

Roy学Kubernetes(1):什么是Kubernetes

在碰到Kubernetes时,很多人是否跟我一样有这样的困惑:网上文档杂而不全,没有系统性的整理;官方文档全英文,专业词汇较多,不容易理解,而且我们不确定哪些章节部分是我们必须掌握的知识,无从下手。所以打算记录自己学习Kubernetes的知识,整理个精简的教程。

什么是Kubernetes

阅读全文

Roy学Docker(1):什么是Docker

什么是docker,经常看到长篇大论的描述和形容docker来让人理解它的功能和作用,其实官网首页第一句话就很清晰的描述了它的作用:

Docker provides a way to run applications securely isolated in a container, packaged with all its dependencies and libraries.

阅读全文