阅读 116

docker rancher搭建

环境说明

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

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

创建MySQL容器

  • 创建挂载目录

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

    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
    复制代码
  • 查询测试

    docker exec -it mysqldb mysql -p123456 -e "show databases;"
    复制代码

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

    mysql: [Warning] Using a password on the command line interface can be insecure.
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | cattle             |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    
    复制代码
  • 创建库并授权(库,用户,密码都为cattle)

    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
    查看:blog.csdn.net/lijiqidong/…

创建rancher容器

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

    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时安装完成

    #查询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主机节点

访问控制

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

开启访问控制

参考链接:
www.cnblogs.com/elvi/p/8478…