docker-rancher搭建

环境说明

  • linux:centos7
  • docker
    Docker version 1.13.1, build dded712/1.13.1
  • rancher:v1.6.18

本环境搭建需要先安装docker,docker安装这里不写了,大家自行百度吧。

创建MySQL容器

  • 创建挂载目录

    1
    mkdir -p /opt/datas/mysql/{datadir,conf.d,logs}
  • 创建mysql容器,设置密码123456

    1
    2
    3
    4
    docker run --name mysqldb -p 3306:3306 \
    -v /opt/datas/mysql/datadir:/var/lib/mysql \
    -v /opt/datas/mysql/conf.d:/etc/mysql/conf.d \
    -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  • 查询测试

    1
    docker exec -it mysqldb mysql -p123456 -e "show databases;"

    返回如下信息说明mysql数据库初始化成功:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mysql: [Warning] Using a password on the command line interface can be insecure.
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | cattle |
    | mysql |
    | performance_schema |
    | sys |
    +--------------------+
  • 创建库并授权(库,用户,密码都为cattle)

    1
    2
    3
    4
    5
    docker exec -it mysqldb mysql -p123456 -e "
    create database if not exists cattle collate = 'utf8_general_ci' character set = 'utf8';
    grant all on cattle.* to 'cattle'@'%' identified by 'cattle';
    grant all on cattle.* to 'cattle'@'localhost' identified by 'cattle';
    flush privileges;show databases;"

    运行mysql容器,提示如下错误:
    docker-mysql-error.png
    解决方法:关闭linux selinux
    查看:https://blog.csdn.net/lijiqidong/article/details/78482908

创建rancher容器

  • 运行rancher容器
    mysql机器IP:mysql容器所在的机器IP

    1
    2
    3
    4
    docker run -d --name rancher --link=mysqldb:db \
    --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:latest \
    --db-host db --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle \
    --advertise-address mysql机器IP

    等几分钟,当数据表创建超过100张时,可以打开浏览器访问rancher web管理页面了。
    查询cattle数据库中表的数量,显示为109时安装完成

    1
    2
    #查询cattle数据库中表的数量
    docker exec -it mysqldb mysql -u"cattle" -h localhost -p"cattle" -e "use cattle;show tables;" |wc -l

    cattle数据库

  • rancher web管理页面
    访问:http://主机IP:8080

添加主机(节点)

基础架构——主机——添加主机(保存)——复制第5部代码,在需要管理的docker机器节点执行。
添加docker主机节点

访问控制

系统管理–访问控制–开启访问控制
开启访问控制

参考链接:
https://www.cnblogs.com/elvi/p/8478551.html