docker+rancher搭建步骤及使用
1.docker+rancher环境搭建
1.1 准备工作
1.系统:ubuntu 16.04 64位,因为docker支持最好的就是这个系统,下载地址:https://www.ubuntu.com/download/server
2.网络:接入网络
3.安装apt-get,如果没有安装下文有安装步骤
4.安装ssh,如果没有安装下文有安装步骤
1.2 安装apt-get
1.查看工具的版本
http://security.ubuntu.com/ubuntu/pool/main/a/apt/,注意下要使用.deb文件,注意系统是32位还是64位
这里我们选择apt_1.5.1_amd64.deb
2.使用wget命令 下载,wget命令是一个自带的下载工具
wget http://security.ubuntu.com/ubuntu/pool/main/a/apt/apt_1.5.1_amd64.deb
3.然后安装
dpkg -i apt_1.5.1_amd64.deb
4.等待安装完成,然后查看其版本
apt –v
1.3 修改下载源地址
http://wiki.ubuntu.org.cn/%E6%A8%A1%E6%9D%BF:16.04source
该地址为16.04系统source源地址,需要进行修改,修改好后,保存生效
1.cd /etc/apt
2.使用vi编辑器修改
vi sources.list
保存后生效
1.4 安装ssh
1.更新
apt-get update
2.安装ssh服务
sudo apt-get install openssh-server
3. 安装好后查看SSH是否启动,查看是否有进程
sudo ps -e |grep ssh
4.如果没有启动则使用启动命令,启动ssh服务
sudo service ssh start
5.修改sshd_config文件获取远程root权限
vi /etc/ssh/sshd_config
6.查看ip地址,进行远程访问
sudo ifconfig
7.使用xshell访问成功
1.5 安装docker
注意:rancher目前只支持如下的docker版本,具体如下图,所以安装的时候一定要注意安装的版本
http://rancher.com/docs/rancher/v1.6/en/hosts/#supported-docker-versions
安装docker
1.#编辑Docker源文件,添加阿里云的源
sudo vi /etc/apt/sources.list.d/docker-main.list
2.#通过粘贴方式,加入如下内容:
deb [arch=amd64] http://mirrors.aliyun.com/docker-engine/apt/repo ubuntu-xenial main
3. #加入官方的GPG key
sudo curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add -
4.#更新源、升级系统
sudo apt-get update && sudo apt-get upgrade -y
5.#清除旧版本的Docker
sudo apt-get purge lxc-docker*
6.#列出可用的Docker的版本
sudo apt-cache policy docker-engine
7.#安装指定的版本,具体的版本见上图
sudo apt-get install -y docker-engine=1.12.3-0~ubuntu-xenial
8.等待安装完成后,查看其版本
docker –v
9.运行hello-world看是否安装成功
docker run hello-world
1.6 使用docker安装mysql5.7
注意:rancher兼容最好的mysql版本就是5.7,rancher官网也推荐安装5.7版本的数据库,可以使用rancher自带的数据库,但是推荐使用自己安装的数据库
- 下载mysql5.7的镜像
docker pull hub.c.163.com/library/mysql:5.7
- 镜像重命名
docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7
- 创建用于挂载的目录
sudo mkdir –p /etc/mysql5.7/data
#用于挂载mysql数据文件
sudo mkdir –p /etc/mysql5.7/conf.d
#用于挂载mysql配置文件 - 使用镜像创建容器
docker run --name mysql5.7 -p 3306:3306 -v /etc/mysql5.7/data:/var/lib/mysql -v /etc/mysql5.7/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
命令解析:
–name:容器名
–p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-e:设置环境变量,此处指定root密码
-d:后台运行容器 - 测试是否成功,输入账号和密码检验能否登录
mysql -hxx.xx.xx.xx -p3306 -uroot –p
1.7 安装rancher
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’;
2.再拉取镜像
docker pull rancher/server
3.运行镜像
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle
–db-host IP or hostname of MySQL server
–db-port port of MySQL server (default: 3306)
–db-user username for MySQL login (default: cattle)
–db-pass password for MySQL login (default: cattle)
–db-name MySQL database name to use (default: cattle)
4.等待几分钟,再访问rancher
http://ip:8080
2. docker的操作
1.查看docker容器当前有哪些运行
docker ps
2.停掉容器
docker stop CONTAINER ID
3.重启容器
docker restart CONTAINER ID
4.停掉所有的容器
docker stop $(docker ps -a -q)
5.删除容器
docker rm CONTAINER ID
2.2 docker的镜像操作
1.查找仓库里面的镜像,这里以mysql为例
docker search mysql
2.下载镜像,这里以mysql为例
docker pull mysql:5.7
3.删除镜像,通过image的id来指定删除谁
docker rmi <image id>
4.强制删除镜像
docker rmi –f <image id>
5. 删除所有镜像
docker rmi $(docker images -q)
2.3 卸载docker
1.要先停止运行的容器 参照2.1
2.再删除已经下载好镜像,可以使用命令来查看是否有镜像,如果有就进行删除,参照2.2
docker images
3.卸载docker
sudo apt-get purge docker-engine
4. 卸载Docker及其依赖的不再需要的包(可能需要执行多次)
sudo apt-get autoremove --purge docker-engine
5.删除配置文件
sudo rm -rf /var/lib/docker
6.使用命令查看是否卸载干净,如果还存在依赖请继续卸载
whereis docker
3. 镜像仓库连接地址
3.1 docker官方的镜像仓库
https://hub.docker.com/explore/
3.2 阿里云镜像仓库
https://dev.aliyun.com/search.html
4. rancher的使用
1.安装好后,登录成功,选择语言 简体中文
2.修改管理员用户名的密码
3.修改主机注册地址,点击保存
4.点击环境管理,可以进行添加环境,例如开发环境,测试环境,生产环境,环境与环境之前互不影响
5.添加主机,将下列命令拷贝到docker的主机进行运行,即可