快速在服务器上使用 Docker 安装部署各种常用数据库和软件(无bug版,10分钟完成配置和各类软件安装)
Posted durancer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速在服务器上使用 Docker 安装部署各种常用数据库和软件(无bug版,10分钟完成配置和各类软件安装)相关的知识,希望对你有一定的参考价值。
前言
docker 是现在很火的一项容器技术,能够帮助来部署我们来快速部署各类环境。
本文是在通过笔者的 测试之后 总结的,即便没有学习过 docker 的基础,也能够快捷地安装我们在开发过程中需要的软件和中间件,便于大家快速构建一个应用环境。本编文章还会继续更新维护,建议 点赞收藏 哦!
目录
docker软件安装
端口注意要在 运营商后台管理打开
docker安装及配置
yum install -y docker
docker镜像配置
在宿主机器编辑文件:
vim /etc/docker/daemon.json
在改文件添加如下内容
"registry-mirrors": [
"https://ustc-edu-cn.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://registry.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
]
在保存文件后需要重启 docker 载入配置文件信息
systemctl restart docker
各类环境安装
在此过程设计的端口映射如 -p 3306:3306 ,前面为 服务器端口,后面为 容器端口
涉及到的端口为避免无法访问等情况,需要在服务器运用商 安全组 放行端口,以及服务器防火墙 开放端口。
防火墙端口相关命令:
1.查看所有放行的端口
firewall-cmd --list-all
2.查看端口是否被占用
netstat -tunpl | grep 端口号
3.开放单个端口(开放后需要要重启防火墙才生效)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#(添加 --permanent 参数表示永久生效,不加为单次有效(重启失效))
4.开放多个端口(开放后需要要重启防火墙才生效)
firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent
5.关闭端口(关闭后需要要重启防火墙才生效)
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
6.查看端口是否打开
firewall-cmd --zone= public --query-port=80/tcp
7.查看防火墙状态
systemctl status firewalld
8.开启防火墙
systemctl start firewalld
9.关闭防火墙
systemctl stop firewalld
Jenkins安装
不建议使用Docker安装Jenkins,因为使用Jenkins的时候一般会调用外部程序,比如Maven、Docker、JDK、Nodejs等,所以我们最好直接安装在本机上,以避免不必要的麻烦。
所以Jenkins安装可以参考博客:Linux 安装 Jenkins
docker安装方式
// 拉取镜像
docker pull jenkins/jenkins:2.60.3
// 创建Jenkins挂载目录并授权权限,这样我们就可以很方便地对容器内的配置文件进行修改
mkdir -p /data/jenkins_home/
chmod 777 /data/jenkins_home/
// 启动容器
docker run -d -p 8080:8080 \\
-u root \\
-v /data/jenkins_home:/var/jenkins_home \\
-v /etc/localtime:/etc/localtime \\
--name jenkins \\
jenkins/jenkins
建议方式(详见上述博客)
// 执行下面两条命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
// 安装jenkins
yum -y install jenkins
// 修改Jenkins端口号(默认为 8080)(两处地方需要修改)
vim /etc/sysconfig/jenkins
修改值 JENKINS_PORT=8080
vim /usr/lib/systemd/system/jenkins.service
Envirment="JENKINS_PORT=8080"
# 重新加载配置文件
systemctl daemon-reload
# 重启jenkins
systemctl restart jenkins
ps:如果启动失败大概理是java环境问题,需要jdk11
minIO安装
docker pull minio/minio
// 挂载目录
mkdir -p ./docker/minio/data
mkdir -p ./docker/minio/config
// 启动容器
docker run -p 9000:9000 -p 9001:9001 --name minio \\
--privileged=true \\
--restart=always \\
-e "MINIO_ROOT_USER=username" \\
-e "MINIO_ROOT_PASSWORD=password" \\
-v /root/docker/data:/data \\
-v /root/docker/config:/root/.minio \\
-d minio/minio server /data --console-address ":9001" --address ":9000"
注意上述 username 和 password 要替换成自己的
mysql安装
// 拉取容器
docker pull mysql:8.0
// 启动容器
docker run -id \\
-p 3306:3306 \\
--name=docker_mysql \\
--privileged=true \\
--restart=always \\
-v /root/mysql/conf:/etc/mysql/conf.d \\
-v /root/mysql/logs:/logs \\
-v /root/mysql/data:/var/lib/mysql \\
-e MYSQL_ROOT_PASSWORD=123456 \\
mysql:8.0
redis安装
docker pull redis
启动容器 /// redis密码在配置文件配置
docker run -id \\
-p 6379:6379 \\
--name docker_redis \\
--restart=always \\
-v /docker/redis/redis.conf:/etc/redis/redis.conf \\
-v /docker/redis/data:/data \\
-d redis
ps:redis的配置文件需要在官网下载,简单部署可以不需要载入
rabbitMQ安装
docker pull rabbitmq:3.7-management
docker run -id --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.7-management
5672是项目中连接rabbitmq的端口(我这里映射的是5672),15672是rabbitmq的web管理界面端口(我映射为15672) 初始账号:guest 初始密码:guest
// 启动之后如果访问不了控制台需要授权
docker exec -it ********(容器id) /bin/bash // 进入容器
rabbitmq-plugins enable rabbitmq_management // 开启控制台
nacos安装
docker pull nacos/nacos-server
// 启动容器
docker run -d \\
-p 8848:8848 -e MODE=standalone \\
--privileged=true \\
-e PREFER_HOST_MODE=hostname \\
-v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \\
-v /root/nacos/logs:/home/nacos/logs \\
--restart always \\
--name nacos nacos/nacos-server
docker常用参数理解
-d 后台运行,并返回容器id
-v 定义一个数据卷,目录挂载
-p 进行端口映射 前面服务器端口
-it: 以交互模式运行容器;
-e username="ritchie": 设置环境变量;
--network=host 设置网络与宿主机相同,可能docker内部连接不到 nacos、mysql等
后记
虽然说跟着敲能够完成对应内容的部署,不过笔者还是建议学习一下 docker 及相关概念的理解,有着更好的理论知识时在应对各种bug才能刀枪不入。
最后可以看看我的开源项目: i集大校园(类似于一个定位为校园里的微博)
i集大校园软件服务端,基于SpringCloud Alibaba 微服务组件及部分分布式技术实现服务之间关联及协作进行前后端分离项目实现。计划实现微信小程序和app两端同步。
使用技术栈为:Spring Boot、Spring Cloud Alibaba、rabbitMQ、JWT、minIO、mysql、redis、ES、docker、Jenkins、mybatis-plus
前端将使用 微信小程序 编写。
欢迎一起参加开源贡献和star项目哈!
以上是关于快速在服务器上使用 Docker 安装部署各种常用数据库和软件(无bug版,10分钟完成配置和各类软件安装)的主要内容,如果未能解决你的问题,请参考以下文章