首页 > 其他分享 >如何在docker swarm集群中部署一个service?

如何在docker swarm集群中部署一个service?

时间:2022-08-30 10:34:10浏览次数:78  
标签:node service helloworld swarm nccztsjb docker

 

如果你想知道,如何在docker swarm集群中部署一个service,那么你需要仔细的阅读下面的文章·····

 

1、前提

 

如果想要完成本次文章的内容,你首先需要一个swarm集群。可以参考下面的文章来搭建一个swarm集群:

 

如何快速搭建一个docker swarm集群?

2、部署service

 

在创建完一个swarm集群后,现在需要将一个service部署到集群中。

 

部署的方法,非常的容易:

 

2.1、登录到manger节点

 

注意:如果你还不知道swarm集群的哪个节点是manger节点,请再去看下swarm搭建文档:

 

如何快速搭建一个docker swarm集群?

 

2.2、执行部署命令

 

运行以下的命令:

docker service create --replicas 1 \
       --name helloworld \
       172.20.58.152/baseimage/alpine:latest \
       ping docker.com
  • docker service create命令用来创建service
  • --name 指明service的名字是helloworld
  • --replicas 1 表示期望运行一个实例
  • 172.20.58.152/baseimage/alpine:latest 表示要使用的镜像的名字
  • ping docker.com 表示容器要运行的命令

 

创建service的过程:

 

 

OK,创建完service之后······

 

查看service的列表

docker service ls

 

 

 

查看服务的任务(task)的状态

 

docker service ps helloworld

 

 

 

通过上面的输出,你可以看到,当前这个service的容器在哪个节点上运行,当前的状态是什么,以及运行了多久。

 

到这里就结束了吗?那如何删除一个service,查看一个serivce的日志?继续往下看······

 

2.3、service管理

 

查看一个service的日志

 

docker service logs helloworld

 

 

查看service的详细信息

 

加上--pretty进行输出的格式化

docker service inspect helloworld --pretty

 

 

扩缩容service

 

刚刚你看到的这个service只有一个容器副本,如果想要运行多个副本,该怎么搞?

 

非常的简单。

 

docker service scale helloworld=2
  • 使用scale命令
  • helloworld=2 [service名字=副本数]

 

运行过程:

[root@nccztsjb-node-07 ~]# docker service scale helloworld=2
helloworld scaled to 2
overall progress: 2 out of 2 tasks 
1/2: running   [==================================================>] 
2/2: running   [==================================================>] 
verify: Service converged 
[root@nccztsjb-node-07 ~]# 

 

OK,查看service的状态

 

[root@nccztsjb-node-07 ~]# docker service ls
ID             NAME         MODE         REPLICAS   IMAGE                                   PORTS
agak3k62twwc   helloworld   replicated   2/2        172.20.58.152/baseimage/alpine:latest   
[root@nccztsjb-node-07 ~]# 
[root@nccztsjb-node-07 ~]# docker service ps helloworld
ID             NAME           IMAGE                                   NODE               DESIRED STATE   CURRENT STATE                ERROR     PORTS
sokl6eufyioa   helloworld.1   172.20.58.152/baseimage/alpine:latest   nccztsjb-node-07   Running         Running 14 minutes ago                 
cfwplmh4xauc   helloworld.2   172.20.58.152/baseimage/alpine:latest   nccztsjb-node-08   Running         Running about a minute ago             
[root@nccztsjb-node-07 ~]# 

 

可以看到,现在这个service运行了2个副本,在2个主机节点上。

 

删除service

 

删除一个service也非常的简单

 

docker service rm helloworld

 

 

 

OK,到这里的话,一个最基本的service的部署、管理已经实现了。

 

那service映射的端口,如何访问,数据卷,这些更高级的主题,后面会逐步的向你透露·····

标签:node,service,helloworld,swarm,nccztsjb,docker
From: https://www.cnblogs.com/chuanzhang053/p/16638433.html

相关文章

  • Docker Compose
    https://m.runoob.com/docker/docker-compose.html  https://www.cnblogs.com/minseo/p/11548177.html......
  • 1.Docker下搭建MySQL主从复制(一主一从)
    Docker下搭建MySQL主从复制(一主一从)实现Mycat读写分离1、通过dockerexec-it627a2368c865/bin/bash命令进入到Master容器内部2、cd/etc/mysql切换到/etc/mysql目录......
  • 14.Docker搭建nginx
    Docker搭建nginx1、搜索并安装docker镜像2、先第一次直接启动,复制出docker容器内的html文件和conf文件,启动命令如下:dockerrun-d-p80:80--namenginx1nginx复制命......
  • 04第四章:Docker镜像
    一、Docker镜像是什么1、镜像是什么?镜像:是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(......
  • Linux基础知识(13)- Docker (六) | 使用 Docker 安装常用应用程序
    本文演示使用Docker安装Ubuntu、CentOS、Nginx、Apache、Tomcat、Redis、MariaDB(MySQL)、Python、PHP和NodeJS。1.安装Ubuntu   Ubuntu是基于Debian的Li......
  • Docker0网络及原理探究
    本篇接着上篇:【Docker0网络及原理探究】,继续深入探究容器网络通信原理,通过学习Docker网路驱动模型,更好地解决容器间的通信问题......
  • docker+nginx 安装
    1:在官网https://hub.docker.com/_/nginx/tags  检查当前所有Docker下载的镜像dockerimages 3、创建Nginx配置文件 启动前需要先创建Nginx外部挂载的配置文件(......
  • docker部署.net core3.1项目
    前提:开发工具vs2022或者2019.netcore版本3.1centos7.51.开发项目注意数据库连接字符串的配置方式,默认mysql是用docker运行的,ip直接换成mysql容器名称即可。修改apps......
  • IntentService
    一、IntentService简介IntentService是Service的子类,比普通的Service增加了额外的功能。先看Service本身存在两个问题:Service不会专门启动一条单独的进程,Service与它......
  • Docker常用命令
    帮助命令dockerversion    -查看docker版本号信息dockerinfo       -显示docker的系统信息,包括镜像和容器的数量docker--help     -......