Swarm+docker集群搭建
来源:互联网 发布:ubuntu mongodb安装 编辑:程序博客网 时间:2024/05/29 09:44
Swarm控制docker集群
spring cloud+jenkins+docker+swarm的devops环境。本文主要记录的是docker+swarm集群在Centos7上的搭建。
1、 安装docker
centos7下docker 安装
yum update--安装依赖工具yum install -y yum-utils device-mapper-persistent-data lvm2--设置国内源(加快速度)yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo--安装yum makecache fastyum install docker-ce--启动systemctl enable dockersystemctl start docker--使用阿里云加速器vim /etc/systemd/system/multi-user.target.wants/docker.service找到 ExecStart= 这一行,在这行最后添加加速器地址 --registry-mirror=<加速器地址>,如:ExecStart=/usr/bin/dockerd --registry-mirror=https://你的阿里云加速器地址.mirror.aliyuncs.com重启使加速器生效systemctl daemon-reloadsystemctl restart docker检查加速器设置是否正确:ps -ef | grep dockerd
修改镜像本地存储位置
1) 停止 Docker: service docker stop2) 做个备份:tar -cvzf /mnt/backup/var_lib_docker-backup.tar.gz /var/lib/docker3) 迁移/var/lib/docker目录到mnt 目录下: mv /var/lib/docker /mnt/docker4) 建个 symlink: ln -s /mnt/docker /var/lib/docker5) 确认文件夹类型为symlink 类型 ls /var/lib/docker6) 启动 service docker start.
2、安装本地registry镜像仓库
安装本地镜像仓库易于本地集群中的镜像流转。
docker run -d -p 5000:5000 --restart always --name registry registry
如果不想麻烦用https,还需要将docker设置为允许用http方式去仓库拉取数据。
# 编辑daemon文件,没有则新建vim /etc/docker/daemon.json# 在里面写入如下,将localhost改为你的仓库服务器地址{ "insecure-registries" : ["localhost:5000"]}# 重启使设置生效systemctl daemon-reloadsystemctl restart docker
3、 创建swarm集群
官方参考文档:https://docs.docker.com/engine/swarm/swarm-tutorial/
# 首先安装docker-machine,可能因为网络问题,下载速度慢,建议迅雷下载好后上传到服务器curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine && chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machineLinux 64迅雷下载地址:https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-Linux-x86_64# 在主节点(假设为10.8.80.11)上初始化swarm节点docker swarm init --advertise-addr 10.8.80.11# 通过以上节点的初始化,会获得子节点的加入token,类似下面的格式,请保存Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager.To add a worker to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168.99.100:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.# 在子节点(假设为10.8.80.12)上加入swarm集群,运行上面得到的join命令docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 10.8.80.12:2377# 加入后,可在主节点上使用以下命令查看当前集群的已接入节点信息docker node ls
4、运行service
service是什么:一个docker集群运行多个service,一个service可以是一个或多个container组成。其实就是一个或多个相同的实例。
# 启动一个service,其中replicas表示需要多少个副本docker service create --replicas 1 --name helloworld alpine ping docker.com
5、自定义网络环境(解决微服务dns问题)
通过解决微服务的dns问题,同一网络下,可以使用服务名连接到其他服务
# 集群主节点创建自定义网络docker network create --driver overlay my-network# 创建运行service时,需加参数`--network my-network`,如:docker service create -d --name qms-config-server --network my-network 10.8.80.11:5000/qms/qms-config-server:40
6、常用命令
docker node lsdocker service ls
阅读全文
0 0
- docker swarm集群搭建
- Swarm搭建Docker集群
- Docker搭建Swarm集群
- Swarm搭建Docker集群
- Swarm+docker集群搭建
- Swarm -- 搭建Docker集群
- Docker + Swarm + etcd 集群搭建
- Docker教程之 Swarm搭建Docker集群
- docker~swarm搭建docker高可用集群
- Docker Swarm搭建生产环境的集群
- ubuntu 使用 swarm 搭建 docker 集群
- Docker 集群管理工具swarm的搭建
- 搭建Docker Swarm集群实战(三)(swarm mode)
- Docker学习笔记 — Swarm搭建Docker集群
- Docker学习笔记 — Swarm搭建Docker集群
- 使用docker 1.12 搭建多主机docker swarm集群
- Docker学习笔记 — Swarm搭建Docker集群
- Docker学习笔记 — Swarm搭建Docker集群
- 【Tensorflow slim】slim.data包
- Transacion事务
- 五天面试
- HDUOJ 1159
- CBK与龙凤集团开展深度合作洽谈
- Swarm+docker集群搭建
- Swift基础 枚举
- 目前可行的markdown转pdf方案
- 特征选择
- 初学者:Android Studio开发环境配置
- 公共ajax请求方法
- ubuntu压缩与解压缩、字符串比较常用指令
- 给beanutils注册转换器
- MongoDB配置环境变量