发布时间:2023-10-30 11:30
首先说一下这篇文章的来源。我之前接手的一个IOT项目,需要安装多个中控服务器。中控服务器需要安装RabbitMQ,Mysql,多个服务,这些部署,部署人员不怎么会(毕竟是硬件兼职的),只能让我给整一个简单一些方案。我当时就想到了容器化部署,然后整一个容器集群(虽然我离开时还没有整容器集群)。
使用Docker部署的好处,就是大大降低部署复杂度。如RabbitMQ的原生部署,需要安装erlang语言,再编译,安装,还容易出问题。docker只需要一条指令(甚至为了简化操作,我将账号密码的初始化操作,也放在了这条指令中,并开启了自启动等)。
所以,通过Docker,实现了较为傻瓜式的部署,并且方案实现简单,所以值得参考。尤其是一些中小型项目,有类似需求的小伙伴更值得推荐,尤其是命令中一些参数。
并且该篇博客,给出了完善的Docker安装步骤。
最后,就当是怀念一下当时刚刚接触容器的我。嘿嘿。
uname -r
sudo yum update
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce
systemctl start docker
sudo systemctl enable docker
docker version
docker run -d --hostname my-rabbit -d --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 5672:5672 -p 15672:15672 rabbitmq:3.7-management
docker run --name my-redis -d --restart=unless-stopped -p 6379:6379 -d redis:3.2 redis-server
docker run --name my-mysql -d --restart=unless-stopped --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=”renewable” -e MYSQL_PASSWORD=”123” -d mysql:5.6
上面连接不成功的问题也可以添加镜像参数
--default-authentication-plugin=mysql_native_password
建议原生安装,如果采用容器部署,请严格遵守安装过程。否则,异常修复会很麻烦。
经过考虑,暂不考虑容器部署JDK。
之后服务容器化后,可以考虑容器部署JDK。
(由于是centos7,故可以yum安装)
(由于进行了repo处理,所以可以直接安装nginx)
(否则,需要安装nginx源)
yum install nginx
systemctl start nginx
systemctl enable nginx
这个部分是不可以公开的。各位小伙伴,根据自己的需要,进行处理吧。
如果有什么疑问,可以私信或@我。
愿与诸君共进步。
大数据告诉你——垃圾围城,现行的垃圾分类制度,作用到底能有多大?
ruby on rails_Ruby on Rails快速创新性能的终极指南
2020李宏毅机器学习笔记-Generative Adversarial Network - Conditional GAN
Jenkins+Maven+Git+Tomcat搭建持续集成环境,自动打包部署详细教程
利用python处理简历和名单——处理excel & os、shutil处理文件
为 Serverless Devs 插上 Terraform 的翅膀,解耦代码和基础设施,实现企业级多环境部署(下)