我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在docker中运行docker swarm模式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在docker中运行docker swarm模式

这篇文章将为大家详细讲解有关怎么在docker中运行docker swarm模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

安装docker

使用yum安装

更新yum源,sudo yum update;、。

添加docker的yum仓库

安装docker-engine,sudo yum install docker-engine

启动docker守护进程,sudo systemctl start docker
docker的安装到这里就结束了,下边说一下在公司内网环境通过代理安装docker需要注意的问题。

首先让机器能通过代理上网

修改/etc/profile,增加export http_proxy=代理用户名:密码@代理地址:端口

使修改生效,source /etc/profile

配置yum使用代理

vim /etc/yum.conf 增加proxy=http://代理用户名:密码@代理地址:端口

经过这两步之后,就可以在内网通过代理安装docker了。

配置docker

打开docker远程管理端口2375,并配置docker hub国内仓库。

新建docker配置文件

vim /etc/sysconfig/docker

增加

DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375 --registry-mirror=国内仓库地址"

如果需要通过代理访问还需要增加

HTTP_PROXY=http://代理用户名:密码@代理地址:端口

启动docker守护进程时加载配置文件

vim /lib/systemd/system/docker.servic

修改ExecStart配置为

ExecStart=/usr/bin/dockerd $DOCKER_OPTS

在[Service]中增加配置文件路径的配置

EnvironmentFile=-/etc/sysconfig/docker

把配置文件加载路径指定到第一步创建的配置文件/etc/sysconfig/docker

重启docker守护进程

sudo systemctl stop docker
sudo systemctl start docker

检查配置是否生效

ps -ef|grep docker

如果配置生效,会在dockerd进程后边加上刚才配置的参数。

启动swarm模式

只需要在一个docker节点上初始化swarm集群, 其他节点加入这个集群就行了。

选择一台docker节点作为swarm模式的leader,运行

docker swarm init --advertise-addr 主机ip

按照提示信息在其他节点上执行命令加入swarm集群

在leader节点上执行docker node ls 查看节点信息

创建集群网络

在swarm集群中的任意一个节点上运行

docker network ls 查看当前网络状况

scope为local的网络只能作用于本机,下边创建swarm集群使用的网络。

运行 docker network create --driver overlay my-network

创建一个名为my-network的集群网络

再次运行 docker network ls,可以看到刚才创建的my-network ,scope为swarm,这个网络可以用于swarm模式,并让多个节点上的容器可以互通。

在swarm中创建service时可以通过 --network 网络名称 指定使用的网络。多个service如果使用同一个scope为swarm的network,可以通过service的名称互相通信。

docker swarm简单使用

下边简单介绍docker swarm的使用,有兴趣的可以查看docker官方文档进行深入了解。

下边的命令全部是在swarm的leader节点运行!!

docker service create --replicas 1 --name tomcat --publish 9090:8080 tomcat:latest

这里创建了一个名为tomcat 的service,swarm把容器封装为service,类似于kubernates中的pod,一个service是一个可供swarm调度的容器组合。

这里的--replicas 1指定了service的副本数。

--publish 9090:8080把容器中的8080端口发布到宿主机的9090端口

运行 docker service ls 查看当前的服务列表,可以看到有一个名为tomcat的服务。

运行 docker service ps tomcat 可以看到tomcat服务运行在哪个swarm节点,以及当前运行的状态。

切换到tomcat服务运行的节点,运行 docker ps 可以看到容器的ID,以及端口映射的情况。

运行 docker logs -f 容器ID 查看tomcat运行日志。

tomcat启动成功后,可以在浏览器中访问tomcat主页,地址是docker节点的ip(随便哪一个节点都可以),端口是9090,是在创建服务时指定的publish。

上边已经成功运行了一个tomcat服务,这里对这个服务进行扩展部署。

运行 docker service scale tomcat=2 把tomcat服务扩展为两个实例。

运行 docker service ls 可以看到tomcat服务的replicas变成了1/2,第二个实例启动成功之后会变为2/2。

运行 docker service ps tomcat 查看两个tomcat服务实例运行在哪个docker节点,以及运行状态。

swarm会自动在两个service中做负载均衡

swarm还有一些其他的命令,比如 docker service rm service名称 删除指定service,以及灰度发布等,具体使用请参照官方文档,这里不再细说。

swarm模式下需要注意的问题

swarm只会在docker节点之间调度容器,不会调度容器使用的挂载卷volume。在用swarm部署数据库的容器时,需要注意数据文件的问题。或者加载了外部配置文件的容器,也需要注意配置文件的问题。
一种简单的解决方式,是让这些容器每次都被调度到相同的docker节点上。需要在创建service时指定--constraint 参数,比如 --constraint 'node.hostname==myhost' ,这样创建的service只会被调度到主机名为myhost的docker节点。

关于怎么在docker中运行docker swarm模式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原文链接:https://my.oschina.net/lhztt/blog/789502

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在docker中运行docker swarm模式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在docker中运行docker swarm模式

这篇文章将为大家详细讲解有关怎么在docker中运行docker swarm模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装docker使用yum安装1.更新yum源,sudo yum
2023-06-07

Docker中swarm怎么用

这篇文章给大家分享的是有关Docker中swarm怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。swarm 三台虚拟机 132,133,1341.初始化一个集群 并把自己加入集群中# 初始化主节点docke
2023-06-25

怎么在Fedora 32中运行Docker

本篇文章给大家分享的是有关怎么在Fedora 32中运行Docker,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。步骤 1:系统准备在 Fedora 的最后两个版本中,操作系统
2023-06-07

在Docker中运行PostgreSQL + pgAdmin 4

拉取postgresql镜像:docker pull postgres运行postgresql:docker run -d -p 5432:5432 --name postgresql -v pgdata:/var/lib/postgresql/data -e
在Docker中运行PostgreSQL + pgAdmin 4
2018-06-18

如何在Docker中运行K3s

本篇文章给大家分享的是有关如何在Docker中运行K3s,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。什么是k3d?k3d是一个小型程序,用于在Docker中运行K3s集群。
2023-06-15

怎么在Docker中运行Jupyter/Spark/Mesos服务

本篇内容介绍了“怎么在Docker中运行Jupyter/Spark/Mesos服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Docke
2023-06-19

怎么在docker中运行指定的内存

怎么在docker中运行指定的内存?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如下:-m,--memory 内存限制,格式是数字加单位,单位可以为 b,k,m
2023-06-14

怎么在docker里运行nginx服务器

这篇文章主要介绍“怎么在docker里运行nginx服务器”,在日常操作中,相信很多人在怎么在docker里运行nginx服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在docker里运行nginx
2023-06-04

如何在docker中运行mariadb程序

这篇文章主要介绍如何在docker中运行mariadb程序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.安装docker2.获取mariadb镜像docker pull mariadb首先在https://hub
2023-06-07

docker怎么运行ubuntu镜像

要在Docker中运行Ubuntu镜像,您可以按照以下步骤操作:1. 首先,确保您已经安装了Docker。可以在终端中运行以下命令来检查Docker是否已安装:```docker --version```2. 如果Docker已安装,请打开
2023-08-23

docker怎么运行windows镜像

要在Docker中运行Windows镜像,需要确保已经安装了Docker Desktop for Windows,并且在Docker设置中启用了Windows容器。以下是在Windows中运行Windows镜像的步骤:1. 确保你已经安装了
2023-09-18

怎么在CentOS或Fedora上运行Docker容器

这篇文章主要讲解了“怎么在CentOS或Fedora上运行Docker容器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在CentOS或Fedora上运行Docker容器”吧!最近 Do
2023-06-10

docker怎么停止运行中的容器

要停止运行中的Docker容器,可以使用以下命令:1. 查看正在运行的容器列表:```docker ps```2. 停止指定的容器:```docker stop ```例如:```docker stop my-container```如果容
2023-10-09

怎么查看docker是否运行

可以使用以下命令来查看 Docker 是否运行:1. 使用 `docker info` 命令来获取 Docker 的详细信息。如果 Docker 正在运行,它将显示 Docker 版本、容器数量等相关信息。2. 使用 `docker ps`
2023-09-23

ubuntu环境下怎么运行docker

这篇文章主要介绍“ubuntu环境下怎么运行docker”,在日常操作中,相信很多人在ubuntu环境下怎么运行docker问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ubuntu环境下怎么运行docker
2023-07-04

docker怎么指定运行用户

在Docker中,可以使用`USER`指令来指定容器中运行的用户。在Dockerfile中,可以使用以下格式指定运行用户:USER 其中,``可以是用户的用户名或用户ID。可以使用`RUN`指令来创建用户。例如,下面的Dockerf
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录