简单版-Centos7安装Docker CE+Rancher+Jenkins+Mysql+Redis
目录1. 安装Docker CE2. 安装单节点rancher,server和agent在同一台机3. 使用Rancher安装Jenkins4.1. 安装Docker CE检查内核版本,cat /etc/centos-release,至少要centos7以上,因Docker要求安装前置依赖:yum install -y yum-utils device-mapper-persistent-data
·
目录
参考链接
1. 安装Docker CE
- 检查内核版本,
cat /etc/centos-release
,至少要centos7以上,因Docker要求 - 安装前置依赖:
yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加yum源:(国内源)
yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
- 更新 yum 软件源缓存,
yum makecache fast
- 安装Docker CE,
yum -y install docker-ce
- 验证是否安装成功,
docker version
- 设置开机自启:
systemctl enable docker
- 开启服务:
systemctl start docker
- 安装hello-world测试是否完全ok,
docker run hello-world
2. 安装单节点rancher,server和agent在同一台机
- 拉取rancher镜像,
docker pull rancher/rancher:stable
- 使用命令,
docker inspect rancher/rancher:stable
,查看Volumes标签和ExposedPorts标签(用于看需暴露的端口),在本地创建目录来外挂,经检查需新建4个目录mkdir -p /docker_volume/rancher_home/rancher \ && mkdir -p /docker_volume/rancher_home/cni \ && mkdir -p /docker_volume/rancher_home/kubelet \ && mkdir -p /docker_volume/rancher_home/log
- 用以下命令启动容器
docker run -d --privileged --restart=unless-stopped \ -p 8080:80 -p 8443:443 \ -v /docker_volume/rancher_home/rancher:/var/lib/rancher \ -v /docker_volume/rancher_home/cni:/var/lib/cni \ -v /docker_volume/rancher_home/kubelet:/var/lib/kubelet \ -v /docker_volume/rancher_home/log:/var/log \ --name rancher rancher/rancher:stable
- 看实时日志,
docker logs -ft --tail -F xxxx(容器id)
,跟踪报错情况 - 没有报错的话,打开rancher管理页面:https://安装的机器ip:8443
- 为admin账户设置默认密码
- 设置rancher server url
- 虽然最新版的rancher安装成功后,默认创建了一个local集群,但还是要自己手动创建一个自己的集群,Global标签->Add Cluster
- ->Existing nodes
- ->输入集群名字->其他默认,Next
- ->因为要把本地服务器加入rancher(即server和agent在同一台机),Node rols的三个角色都勾选上->复制命令到服务器执行,如果执行成功,页面会提示新主机注册->Done
- 等待新集群状态变成Active,可能耗时很久
- 最后可以通过
docker images
查看拉取的镜像,docker ps
查看运行了多个容器
3. 使用Rancher安装Jenkins
- 拉取镜像,
docker pull jenkins/jenkins:alpine
- 使用命令,
docker inspect jenkins/jenkins:alpine
,查看Volumes标签和ExposedPorts标签(用于看需暴露的端口),在本地创建目录来外挂,经检查需新建1个目录,mkdir -p /docker_volume/jenkins_home
- 修改目录的权限,
chown -R 1000:1000 /docker_volume/jenkins_home
,这一条是看dockerFile得出的结果 - 打开rancher管理页面,Global标签->自己新建的集群名->Default->Deploy
- 输入名称:jenkins。
输入镜像名称:jenkins/jenkins:alpine。
添加端口映射:30000:8080,30001:50000。
- 在同一个页面,->Volumes->add Volume->Bind-mount a directory from the node,添加一个路径映射卷,卷名为jenkins-home,主机路径的话就是填入我们先前创建的/docker_volume/jenkins_home目录路径,选择为现有目录并映射到容器路径/var/jenkins_home目录路径
- 点击Launch,启动
- 等待服务状态变为Active,说明部署成功
- 假如不成功,点jenkins服务进入
- 打开Jenkins管理平台
- 获得初始密码,
cat /docker_volume/jenkins_home/secrets/initialAdminPassword
- (可选)解决“该jenkins实例似乎已离线”的问题,链接
- 按照建议的插件安装,根据网络情况耗时情况不定
- 完成后会跳转到引导页面,输入我们管理员用户名及密码,然后下一步即可
4. 使用Rancher安装Mysql
- 拉取镜像,
docker pull mysql:5.7
- 使用命令,
docker inspect mysql:5.7
,查看Volumes标签和ExposedPorts标签(用于看需暴露的端口),在本地创建目录来外挂,需新建1个目录mkdir -p /docker_volume/mysql/data
- 打开rancher管理页面,Global标签->自己新建的集群名->Default->Deploy
- ->More options
- 输入名称:mysql。
输入镜像名称:mysql:5.7。
添加端口映射:30030:3306
- 在同一个页面,->Environment Variables->Add Variable,添加个环境变量(初始化登录密码),key是
MYSQL_ROOT_PASSWORD
,值是123456
- 在同一个页面,->Volumes->add Volume->Bind-mount a directory from the node,添加一个路径映射卷,卷名为mysql-data,主机路径的话就是填入我们先前创建的/docker_volume/mysql/data目录路径,选择为现有目录并映射到容器路径/var/lib/mysql目录路径
- 在同一个页面,->Show advanced options->Command,添加参数命令
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- 点击Launch,启动
- 等待服务状态变为Active,说明部署成功
- 使用客户端工具测试连接,OK
5. 使用Rancher安装单点测试用Redis
- 拉取镜像,
docker pull redis:6.2-alpine
- 使用命令,
docker inspect redis:6.2-alpine
,查看Volumes标签和ExposedPorts标签(用于看需暴露的端口),在本地创建目录来外挂,需新建1个目录mkdir -p /docker_volume/redis/data
- 打开rancher管理页面,Global标签->自己新建的集群名->Default->Deploy
- ->More options
- 输入名称:redis。
输入镜像名称:redis:6.2-alpine。
添加端口映射:30040:6379
- 在同一个页面,->Volumes->add Volume->Bind-mount a directory from the node,添加一个路径映射卷,卷名为redis-data,主机路径的话就是填入我们先前创建的/docker_volume/redis/data目录路径,选择为现有目录并映射到容器路径/data目录路径
- 在同一个页面,->Show advanced options->Command,添加参数命令
redis-server --appendonly yes
- 点击Launch,启动
- 等待服务状态变为Active,说明部署成功
- 使用客户端工具测试连接,OK
更多推荐
已为社区贡献6条内容
所有评论(0)