分类归档

Docker教程

FWQ
Docker教程
Go中的time包
在Go的时间处理,都是针对type Time 的处理,所以在处理时间之前需要有 Time 类型的变量。   1、创建Time类型变量 当前时间:func Now() Time 根据时间戳的秒数和纳秒数生成时间:Unix(sec int64, nsec int64) Time 根据具体的日期生成时间: format := “2006-01-02 15:04:05″ t3,_ := time.Parse(format,”2017-08-20 08:04:02″) 2、创建Duration类型变量 这个变量在计算时间差特别有用。 func ParseDuration(s…
2024-11-18 阅读全文 →
FWQ
Docker教程
Go中的各种变量类型转换
从PHP转向GO,最不能适应的是GO是强类型语言,变量的申明需要指定其类型,相同的变量之间才可以做算术、关系、逻辑等运算。   Go中所有的变量类型参考:Go新手需注意的知识点(一)  一、string类型 int int8 int16 int32 int64  string转换成这5种类型,需要先使用 strconv.ParseInt(s,10,64), 转换成相对应的int64,然后使用强制转换。例如: r,_ := strconv.Parseint(“123″,10,8) int8(r)func ParseInt(s string, base int, bitSize int) (i int64, err error) 返回字符串表示的整数值,接受正负号。 base指定进制(2到36),如果base为0,则会从字符串前置判断,”0x”是16进制,”0″是8进制,否则是10进制; bitSize指定结果必须能无溢出赋值的整数类型,0、8、16、32、64…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker的安装
Docker的安装可参考:https://docs.docker.com/engine/installation/linux/centos/,Docker的安装方式有三种:Yum安装、使用rpm包、已编译的二进制包、源码编译。 一、Yum安装 这是最简单的一种安装方式,目录分布采用默认的设置。这个也是本人很不喜欢的。所以这种安装方式初次使用 docker的朋友,可以选择这种方式。   1、版本选择 docker包括 CE(community edition)社区版和EE(enterprise edition)企业版,CE 版又分为 stable 和 edge ,这两个版本的区别在于更新的频率。 2、下载repo 下载官方的 repo 库文件 # curl -O https://download.docker.com/linux/centos/docker-ce.repo 3、安装 docker-ce.x86_64:64位操作系统 docker-ce-selinux.noarch:对CPU不做要求的版本 # yum…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker的启动参数
启动的docker的二进制文件是dockerd,首先需要知道 dockerd 的文件路径,那么可以使用 <path>/dockerd & 启动docker,这里详细介绍下启动参数的使用。   Tips 1:Docker中的组件介绍 Tips 2:Docker的配置文件 daemon.json 详细解 Tips 3:一般情况下,配置文件 deamon.json 中配置项目,在启动参数中同样适用(会有些许不同),但需要注意的一点,配置文件中如果已经有某个配置项,则无法在启动参数中增加,会出现冲突的错误。例如:在配置文件中,配置pidfile,那么启动参数中如果有–pidfile , 则提示: unable to configure the Docker daemon with file /usr/local/docker/daemon.json:…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker中的组件介绍
从Docker 1.11开始,Docker容器运行已经不是简单的通过Docker daemon来启动,而是集成了containerd、runC等多个组件。Docker服务启动之后,我们也可以看见系统上启动了dockerd、docker-containerd等进程,本文主要介绍新版Docker(1.11以后)每个部分的功能和作用。包括 docker、docker-containerd、docker-containerd-ctr、docker-containerd-shim、dockerd、docker-init、docker-proxy、docker-runc ,这8个二进制文件。   一、dockerd 作为Docker容器管理的守护进程,Docker Daemon从最初集成在docker命令中(1.11版本前),到后来的独立成单独二进制程序(1.11版本开始),其功能正在逐渐拆分细化,被分配到各个单独的模块中去。从Docker服务的启动脚本,也能看见守护进程的逐渐剥离: 在Docker 1.8之前,Docker守护进程启动的命令为:docker -d , 这个阶段,守护进程看上去只是Docker client的一个选项。 Docker 1.8开始,启动命令变成了:docker daemon,这个阶段,守护进程看上去是docker命令的一个模块。 Docker 1.11开始,守护进程启动命令变成了:dockerd,此时已经和Docker client分离,独立成一个二进制程序了。 当然,守护进程模块不停的在重构,其基本功能和定位没有变化。和一般的CS架构系统一样,守护进程负责和Docker client交互,并管理Docker镜像、容器。 二、docker-runc runC是一个轻量级的工具,它是用来运行容器的,只用来做这一件事,并且这一件事要做好。如果你了解过Docker引擎早期的历史,你应该知道当时启动和管理一个容器需要使用LXC工具集,然后在使用libcontainer。libcontainer就是使用类似cgroup和namespace一样的Linux内核设备接口编写的一小段代码,它是容器的基本构建模块。为了是过程更加简单,runC基本上是一个小命令行工具且它可以不用通过Docker引擎,直接就可以使用容器。这是一个独立的二进制文件,使用OCI容器就可以运行它。 三、docker-containerd containerd 是运用…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker的命令之概述
Docker官方为了让用户快速了解docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的使用方法。但是由于Docker技术的快速发展,此交互式教程已经无法满足Docker用户的实际使用需求,所以让我们一起开始一次真正的命令行学习之旅。这里仅介绍Docker的管理命令(命令行),如果需要docker的启动命令,请参考:Docker的启动参数,Docker的命令,包括以下11部分的内容:   一、container Manage containers 参考:Docker的命令之容器管理 Container 二、image Manage images 参考:Docker的命令之镜像管理 Image 三、network Manage networks 参考:Docker的命令之网络管理 network 四、node Manage Swarm node 参考:Docker的命令之节点管理 Swarm nodes 五、plugin Manage plugins 参考:Docker的命令之插件管理…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker的命令之容器管理 Container
Docker的容器概念这里不再详细叙述,可自行百度,通俗可理解为虚拟机,但远优越于虚拟机,这里只介绍,使用命令对 container (容器)进行操作,使用 docker container –help ,可以查看所有container(容器)相关的命令。   Usage:    docker container COMMAND Manage containers Options:       --help   Print usage Commands:   attach      Attach local standard input, output, and…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker的命令之镜像管理 Image
一、Docker 容器概念 我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:14.04 就包含了完整的一套 Ubuntu 14.04 最小系统的 root 文件系统。 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。   二、分层存储 因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker的命令之网络管理 network
在介绍 docker network的命令之前,务必先知道 network 在docker体系中扮演的角色、特性、以及作用。参考一篇转载的文章:Docker network的网络特性,使用 docker network –help ,可以查看所有network(网络)相关的命令。   Usage:    docker network COMMAND Manage networks Options:       --help   Print usage Commands:   connect     Connect a container…
2024-11-18 阅读全文 →
FWQ
Docker教程
Docker的命令之集群节点管理 Swarm node
节点(Node)为swarm(docker 集群)中的一个Docker Engine实例。其中管理节点(Manager Node)负责swarm管理并向工作节点分配任务;工作节点(Work Node)接受并执行来自管理节点的Task。简单可理解为一个Node就是一台Docker宿主机。 关于Swarm的介绍,参考:Docker的命令之集群管理 swarm,docker node的指令管理docker集群中的节点,docker swarm 管理整个docker集群的指令,docker  node 管理docker集群中节点的指令,集群中的节点包括worker和manager两种类型的节点。   Usage:    docker node COMMAND Manage Swarm nodes Options:       --help   Print usage Commands:   demote     …
2024-11-18 阅读全文 →