DockerSwarm基础命令笔记

本文记录了Docker Swarm的实践操作,包括创建集群、滚动更新、节点状态管理和服务发现。通过创建服务、扩展容器数量、滚动更新服务、排除节点以及创建Overlay网络,展示了Docker Swarm在集群管理和服务部署中的基本流程。
摘要由CSDN通过智能技术生成

创建Docker集群

创建管理节点

docker swarm init --advertise-addr 192.168.214.134

Swarm initialized: current node (fn141bj35cm6giol6lc4xrdbg) is now a manager.
To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4ktuevhnsdh0hiwicqfxqvr3m4zw8c6ew212n7veidkk9xa2mt-cwova8081btr4gi7k9mjlf6g3 192.168.214.134:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

创建visualizer容器,用于在web上查看集群内的服务状态

docker run -it -d -p 8080:8080 --name visualizer -v /var/run/docker.sock:/var/run/docker.sock dockersamples/visualizer

在集群中添加子节点

docker@worker1:~$ docker swarm join --token SWMTKN-1-4ktuevhnsdh0hiwicqfxqvr3m4zw8c6ew212n7veidkk9xa2mt-cwova8081btr4gi7k9mjlf6g3 192.168.214.134:2377

This node joined a swarm as a worker.
docker@worker2:~$ docker swarm join --token SWMTKN-1-4ktuevhnsdh0hiwicqfxqvr3m4zw8c6ew212n7veidkk9xa2mt-cwova8081btr4gi7k9mjlf6g3 192.168.214.134:2377

This node joined a swarm as a worker.

查看节点信息

docker@Manager:~$ docker node ls

ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
7p0i3e8o57eo3pi676hv5f0ub     worker1             Ready               Active              
fn141bj35cm6giol6lc4xrdbg *   Manager             Ready               Active              Leader
nvlhrn1vlrg1sn66hkyphxuyd     worker2             Ready               Active   

查看节点的详细信息

docker@Manager:~$ docker node inspect fn141bj35cm6giol6lc4xrdbg --pretty

ID:			fn141bj35cm6giol6lc4xrdbg
Hostname:              	Manager
Joined at:             	2017-07-14 03:01:26.170403463 +0000 utc
Status:
 State:			Ready
 Availability:         	Active
 Address:		192.168.214.134
Manager Status:
 Address:		192.168.214.134:2377
 Raft Status:		Reachable
 Leader:		Yes
Platform:
 Operating System:	linux
 Architecture:		x86_64
Resources:
 CPUs:			4
 Memory:		3.842GiB
Plugins:
 Log:		awslogs, fluentd, gcplogs, gelf, journald, json-file, logentries, splunk, syslog
 Network:		bridge, host, macvlan, null, overlay
 Volume:		local
Engine Version:		17.06.0-ce
TLS Info:
 TrustRoot:
-----BEGIN CERTIFICATE-----
MIIBaTCCARCgAwIBAgIUCFPwjCnBaEq+SqJQVqOg/gtxNwQwCgYIKoZIzj0EAwIw
EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNzE0MDI1NjAwWhcNMzcwNzA5MDI1
NjAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABGDUW/oycxQlKCAW4UkIw9s+clf8HHwNVMDgLyVzuEm2ptmUo6UAMuD11F3D
LRS+aFbI19MnxF55W25ZSQcVP5KjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
Af8EBTADAQH/MB0GA1UdDgQWBBSpBSKWON4N4dVYEtSrr5lwyo8hejAKBggqhkjO
PQQDAgNHADBEAiBF/IyG1jLiNeP2vClEC4UL97FfOU7ie22Xqz81bRD13gIgVRmu
7YhoqSxSnjOMyB738lzdH1/dft/pGHpJ/iZWPKI=
-----END CERTIFICATE-----

 Issuer Subject:	MBMxETAPBgNVBAMTCHN3YXJtLWNh
 Issuer Public Key:	MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYNRb+jJzFCUoIBbhSQjD2z5yV/wcfA1UwOAvJXO4Sbam2ZSjpQAy4PXUXcMtFL5oVsjX0yfEXnlbbllJBxU/kg==

创建service


root@manager:~# docker service create --name hellodocker alpine ping docker.com

  w8ero71tzo1e6d42tiymrdoru
  Since --detach=false was not specified, tasks will be created in the background.
  In a future release, --detach=false will become the default.
  

查看service

 root@manager:~# docker service ls
 
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
w8ero71tzo1e        hellodocker         replicated          1/1                 alpine:latest

查看服务运行在哪个节点

root@manager:~# docker service ps hellodocker

ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR                       PORTS
jyj6qqjzv8n8        hellodocker.1       alpine:latest       manager             Running             Running 2 seconds ago

如上,服务部署在 worker节点上,进入worker节点,在worker节点上运行 docker ps

docker@worker:~$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS               NAMES
 f7098b163c52        alpine:latest       "ping docker.com"   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker是一种轻量级的容器化技术,可以将应用程序及其依赖打包成一个独立的容器,方便在不同环境中进行部署和运行。在使用Docker过程中,我总结了一些配套的笔记,以帮助更好地理解和使用Docker。 首先,搭建Docker环境是很重要的一步。通过安装Docker引擎,可以在本地或云服务器上运行和管理Docker容器。在安装好Docker后,需要配置Docker Swarm或Kubernetes集群,以实现容器的高可用和自动化管理。 其次,了解Docker镜像的概念。镜像是Docker的基本单位,类似于虚拟机中的镜像文件。Docker镜像可以通过Dockerfile定义,其中包含了构建镜像的指令和依赖关系。我们可以通过Docker官方提供的镜像仓库(Docker Hub)或私有镜像仓库获取自己所需的镜像,也可以通过自己构建镜像来满足特定的需求。 接着,理解容器的概念和使用方法。容器是镜像的实例,类似于一个独立的操作系统环境,但并不是一个完整的虚拟机。容器可以通过Docker命令进行创建、启动、停止、删除等操作。在容器内可以运行各种应用程序,并且容器与容器之间相互隔离,互不干扰。 此外,掌握Docker网络和存储管理。Docker网络可以通过创建自定义网络、容器互联等方式进行配置,以实现容器之间的通信。存储管理方面,Docker提供了多种存储驱动方式,可以创建并挂载数据卷,实现数据的持久化。 最后,学习Docker的监控和日志管理。通过使用Docker自带的监控工具或第三方监控工具,可以监控Docker容器的资源使用情况和运行状态。此外,Docker容器的日志输出也需要进行管理,可以将日志导出到文件或集中存储到外部系统中。 总之,Docker作为一种高效的容器化技术,能够提升应用的可移植性和可扩展性。熟悉这些配套笔记内容,可以帮助更好地理解和使用Docker,实现快速部署和迁移应用的目标。 ### 回答2: 狂神说是一位知名的程序员在网络上分享的教学视频,其中有关于Docker的配套笔记Docker是一个开源的容器化平台,使开发者能够在容器中打包应用程序和所有相关的依赖项,并进行部署和管理。在这个配套笔记中,狂神详细介绍了Docker的基本概念、背景和原理,并提供了许多实际操作的案例。 笔记首先介绍了Docker的背景和出现的原因。随着软件开发的快速发展,传统的应用部署方式面临着多种挑战,如环境配置困难、资源浪费、部署速度慢等。Docker应运而生,通过将应用程序封装成独立的容器,实现了快速部署、隔离和可移植性。 笔记接着介绍了Docker的基本概念。Docker使用镜像(image)作为容器的基础,镜像是包含了操作系统和运行应用程序所需的全部组件的文件。容器是在镜像的基础上创建的,它是一个运行时环境,可以单独运行应用程序。通过镜像和容器的组合使用,开发者可以实现应用程序的快速开发、测试和部署。 在笔记的后半部分,狂神提供了一些实践案例来帮助读者更好地理解和运用Docker。例如,如何使用Docker部署Web应用程序、数据库、消息队列等常见的应用组件;如何在不同的环境中创建和管理容器,如开发、测试和生产环境;如何使用Docker Compose管理多个容器之间的依赖关系等等。 总之,狂神说的Docker配套笔记是一个全面而实用的学习资源,它可以帮助开发者快速上手并深入理解Docker的基本原理和应用方法。无论是初学者还是有一定经验的开发者,都能够通过这些笔记来加深对Docker的理解,并在实际项目中应用它带来的好处。 ### 回答3: Docker是一种开源的容器化平台,能够将应用程序和其依赖的库、环境一同封装成一个独立的容器,使其可以在任何环境中运行。狂神在他的言论中提到了一些关于Docker的配套笔记。 首先,狂神提到了Docker的基本概念和工作原理。他解释了容器与虚拟机的区别,指出Docker是一种轻量级虚拟化技术,可以快速启动和部署。狂神还介绍了容器镜像的概念,它是用来创建和运行容器的基础,可以通过Docker官方提供的仓库或自己构建。 其次,狂神强调了Docker的优势和应用场景。他指出Docker能够提高应用程序的可移植性、可扩展性和可靠性,方便在各种不同的环境中进行部署和管理。他举了一些实际的例子,如开发环境的快速部署、持续集成和持续部署等。 接着,狂神介绍了Docker的基本操作和命令。他讲解了如何创建、运行和停止容器,如何管理容器的网络和存储等。狂神还向读者展示了如何使用Docker Compose来管理多个容器,并介绍了一些常用的Docker镜像和容器的使用技巧。 最后,狂神提到了Docker的进阶主题和相关技术。他提到了Docker的安全性和性能优化的问题,并介绍了一些解决方案。狂神还提到了Kubernetes和Docker Swarm等容器编排工具,让读者了解如何在生产环境中进行容器的管理和调度。 总的来说,狂神的Docker配套笔记是一个非常实用的指南,能够帮助读者快速入门并深入了解Docker的原理和应用。无论是初学者还是有一定经验的开发者,都可以从中获得丰富的知识和实践经验,加快自己的学习和工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值