容器 7年前

Centos 搭建 Docker Swarm

作者头像 刘宇帅
2823 0

Centos docker-ce安装

一般安装步骤

安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

修改软件源

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 切回官方源
# $ sudo yum-config-manager \
#     --add-repo \
#     https://download.docker.com/linux/centos/docker-ce.repo

安装docker-ce

$ sudo yum makecache fast
$ sudo yum -y install docker-ce

快熟安装步骤

在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

启动和配置

遵循一般安全考虑,这里不使用root直接操作docker服务,操作docker一般使用dokcer的Unix socket。添加用户操作权限

usermod -a -G docker Username

启动:

$ sudo systemctl enable docker
$ sudo systemctl start docker

测试docker是否成功

docker提供了一个hello world镜像,我们可以用它来测试,有以下输出则表示已经安装成功。

$docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9db2ca6ccae0: Pull complete
Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

docker-compose安装

直接下载github上编译好的linux二进制包

$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose
$ chmod +x /usr/bin/docker-compose

检查

$ docker-compose --version
docker-compose version 1.17.1, build 6d101fb

docker swarm集群搭建

首先在机器01创建一个docker主机作为管理节点

$ docker swarm init
Swarm initialized: current node (uwqcanks3pzaruzhi6cv9mfft) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-5vatlkm1qpx61ys6kffpfs9qddyo2wkrr7rojf630m6zxmyner-9kfghlmvma7snynqy8zvyd2nb 111.109.23.28:1377

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

然后可以在其他机器上执行如下命令,这样该机器就加入到集群里了

docker swarm join --token SWMTKN-1-5vatlkm1qpx61ys6kffpfs9qddyo2wkrr7rojf630m6zxmyner-9kfghlmvma7snynqy8zvyd2nb 111.109.23.28:1377

在机器01上查看集群状态

docker node ls

启动一个nginx service

$ docker service create --replicas 2 -p 8080:80 --name nginx nginx

查看服务

ID                  NAME                MODE                REPLICAS            IMAGE                 PORTS
pm3trtqb6d9z        nginx               replicated          3/3                 nginx:1.13.7-alpine   *:8080->80/tcp
作者头像

刘宇帅

非著名程序员,全栈开发工程师,长期专注系统开发与架构设计。

提示

功能待开通!


暂无评论~

相关文章

docker常用命令

入门docker书籍推荐:docker-从入门到实践 查看image、container、volume占用的空间大小 docker system df image image本地导入 docker import - [name] < /path/to/image/file 例如导入/tmp/test.export.tar并命名image名为demo docker import - demo < /tmp/test.export.tar image重命名 docker tag oldname:oldversion newname:newversion docker image rm