使用Docker快速搭建基础服务

这篇具有很好参考价值的文章主要介绍了使用Docker快速搭建基础服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker安装

#Linux安装
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
#启动docker服务
systemctl start docker
#将docker添加到开机自启动
sudo systemctl enable docker
#查看是否成功安装
docker info

Mysql安装

#拉取镜像
docker pull mysql:5.6
#运行mysql 主机3307映射容器3306 后台运行 将主机的/root/data目录与容器的/var/lib/mysql目录挂载
docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=root -p 3307:3306 -d -v /root/data:/var/lib/mysql mysql:5.7

Redis安装

#拉取镜像
docker pull redis:6.2.5
#简单运行
docker run --name redis -d redis:6.2.5
#开启aof持久化
docker run --name redis1 -d -p 6379:6379 -v /root/redisdata:/data redis:6.2.5 redis-server --appendonly yes

RabbitMQ

#拉取镜像
docker pull rabbitmq:3.7.28-management
#运行
docker run --name rabbit1 -p 15672:15672 -p 5672:5672 -d rabbitmq:3.7.28-management

RocketMQ

#拉取镜像
docker pull apache/rocketmq:4.8.0
#创建namesrv数据存储路径
mkdir -p  /docker/rocketmq/data/namesrv/logs   /docker/rocketmq/data/namesrv/store
#启动namesrv容器
docker run -d --restart=always --name rmqnamesrv -p 9876:9876 -v /docker/rocketmq/data/namesrv/logs:/root/logs -v /docker/rocketmq/data/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" apache/rocketmq:4.8.0 sh mqnamesrv 
#创建broker节点数据存储路径
mkdir -p  /docker/rocketmq/data/broker/logs   /docker/rocketmq/data/broker/store /docker/rocketmq/conf
#创建配置文件
vi /docker/rocketmq/conf/broker.conf

编辑broker.conf,并设置brokerIP1

# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址
brokerIP1 = 【broker节点所在服务器的ip】
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95
#构建broker容器
docker run -d  --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 -v /docker/rocketmq/data/broker/logs:/root/logs -v /docker/rocketmq/data/broker/store:/root/store -v /docker/rocketmq/conf/broker.conf:/opt/rocketmq-4.8.0/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" apache/rocketmq:4.8.0 sh mqbroker -c /opt/rocketmq-4.8.0/conf/broker.conf

#拉取rockermq-console服务镜像
docker pull pangliang/rocketmq-console-ng:latest

#构建rockermq-console容器 注意:设置namesrv机器地址
docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=175.24.204.30:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 9999:8080 pangliang/rocketmq-console-ng

MinIO

#拉取镜像
docker pull minio/minio:RELEASE.2022-06-20T23-13-45Z.fips
#创建本地数据卷
mkdir -p /minio/config
mkdir -p /minio/data

#网络模式指定为bridge
 docker run -p 9000:9000 -p 9090:9090 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minioadmin" -e "MINIO_SECRET_KEY=minioadmin" -v /home/minio/data:/data -v /home/minio/config:/root/.minio minio/minio:RELEASE.2022-06-20T23-13-45Z.fips server /data --console-address ":9090" -address ":9000"

Docker-Compose一键启动

上述方法需要我们单独对每一个服务进行启动,当基础服务多的时候,非常不方便,所以可以采用Docker-Compose的方式一键启动,以下是相关步骤

1.docker-compose手动安装

在这个目录下载docker-compose-Linux-x86_64:
https://github.com/docker/compose/releases/tag/1.25.5文章来源地址https://www.toymoban.com/news/detail-730830.html

2.上传docker-compose-Linux-x86_64文件到Linux
#上传本地的文件到Linux服务器,注意更换为自己的地址
scp /Users/xxx/Downloads/docker-compose-Linux-x86_64 root@172.24.214.33:/usr/local/bin/docker-compose
3.赋予该文件可执行权限
sudo chmod +x /usr/local/bin/docker-compose
4.创建docker-compose文件
#在root目录下创建
cd ~/
touch docker-compose.yml
5.编辑docker-compose.yml
vim docker-compose.yml
version: "3.5"
services:

  mysql_base:
    image: mysql:5.6
    ports:
      - "3307:3306"
    container_name: mysql_base
    restart: always #总是重启 相当于docker run --restart=always
    environment:
      - "MYSQL_ROOT_PASSWORD=root"
    volumes: #数据卷映射
      - /root/volumes/mysql_app/mysqldata:/var/lib/mysql #手动数据卷 不存在刻意自动创建
    networks:
      - hello

  redis_base:
    image: redis:6.2.5
    ports:
      - "6379:6379"
    container_name: redis_base
    restart: always
    volumes:
      - /root/volumes/redisdata:/data
    command: redis-server --appendonly yes
    networks:
      - hello

  rabbitmq_base:
    image: rabbitmq:3.7.28-management
    ports:
      - "5672:5672"
      - "15672:15672"
    container_name: rabbitmq_base
    restart: always
    networks:
      - hello
      
  minio_base:
    image: minio/minio:RELEASE.2022-06-20T23-13-45Z.fips
    ports:
      - "9000:9000"
      - "9090:9090"
    container_name: minio_base
    restart: always
    environment:
      - "MINIO_ACCESS_KEY=minioadmin"
      - "MINIO_SECRET_KEY=minioadmin"
    volumes:
      - /home/minio/data:/data
      - /home/minio/config:/root/.minio
    command: server /data --console-address ":9090" -address ":9000"
    networks:
      - hello


volumes: #声明项目中使用的所有卷
  fff:
networks:
  hello:
6.启动docker-compose
docker-compose up -d

到了这里,关于使用Docker快速搭建基础服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为云云耀云服务器L实例评测 | 实例使用教学之简单使用:通过 Docker 容器化技术在华为云云耀云服务器快速构建网站

    华为云云耀云服务器L实例评测 | 实例使用教学之简单使用:通过 Docker 容器化技术在华为云云耀云服务器快速构建网站 介绍华为云云耀云服务器 华为云云耀云服务器 (目前已经全新升级为 华为云云耀云服务器L实例) 华为云云耀云服务器是什么 华为云云耀云服务器和上一

    2024年02月07日
    浏览(75)
  • Docker 基础实战:环境搭建、容器、仓库、镜像

    可以使用 docker help 或者 man docker-run 来获取完整的 Docker 命令列表,本文只介绍一些常用的命令与参数。 考虑到安装流程过于繁琐,在 CentOS 中,可以使用官方提供的脚本来快速安装 Docker: 可以从 https://get.docker.com/ 查看支持的操作系统。 当安装完毕后,设置开机自启动 Doc

    2024年02月16日
    浏览(53)
  • 云服务器-Docker容器-系统搭建部署

            最近公司在海外上云服务器,作者自己也搞了云服务器去搭建部署系统,方便了解整体架构和系统的生命周期,排查解决问题可以从原理侧进行分析实验。虽然用的云不是同一个,但是原理都是相通的。         作者选用的是腾讯云,没别的原因,就是便宜加牌子大

    2024年02月12日
    浏览(59)
  • Docker基础入门:镜像、容器导入导出与私有仓库搭建

    💖The Begin💖点点关注,收藏不迷路💖 1.镜像导入 是复制的过程。 2.容器导入 是将当前容器 变成一个新的镜像。 save 和 export区别: 1)save 保存镜像所有的信息-包含历史信息。 2)export 只导出当前的信息。 首先,两者的操作对象不同。docker save是将一个镜像保存为一个tar包

    2024年02月12日
    浏览(53)
  • 【Docker基础】Docker容器的基本使用

    2023年07月08日
    浏览(56)
  • 不外传秘诀| docker 快速搭建常用的服务环境

    本文主要给大家介绍如何使用 docker 搭建常用的服务环境, 包括mysql,reedis,nginx,jenkins 等常用的环境,下面直接进入主题。 1、MySQL 部署 ①搜索 MySQL 镜像 ②拉取 MySQL 镜像 ③创建容器,设置端口映射,目录映射 ●在宿主机中创建一个 MySQL 目录,用来存储数据库信息  ●启动容

    2024年02月16日
    浏览(40)
  • 【运维】手把手教你在windows使用Docker搭建Minio[详细教程]

    目录 1什么是Minio 2安装Docker 3Docker搭建Minio 4.创建Minio容器并运行 5.进行访问 6安装可能出现的问题         MinIO是一个基于开源的对象存储服务器,MinIO的设计目标是提供高性能、高可用性和高可靠性的对象存储服务。MinIO可以作为一个独立的对象存储服务,也可以在Kuber

    2024年02月06日
    浏览(62)
  • 如何在Docker中搭建MinIO容器并实现无公网ip远程访问本地服务

    MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是

    2024年01月17日
    浏览(55)
  • ELK日志监控系统搭建详细步骤(针对docker容器启动的镜像、微服务版)

         ELK Stack 是 Elasticsearch 、Logstash、Kiban a 三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称 。 百度介绍:       Elasticsearch是强大的数据搜索引擎,是分布式、通过restful方式进行交互的近实时搜索

    2024年02月05日
    浏览(50)
  • 使用docker快速搭建hive环境

    写在前面 想练练Hive SQL,但是没有hive shell环境。现在只有一台空的CentOS 7机子,一想要弄jdk、hadoop、mysql、hive就头疼。 于是在网上找了找,发现用docker部署hive会快很多,在此记录一下部署过程。 以下过程每一步在文末都附有参考文档,出错的朋友可以去看对应的参考文档。

    2024年01月22日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包