Docker安装以及部署常用软件

news2024/9/9 5:39:21

文章目录

  • 1. 安装docker
    • 1.1 卸载旧的docker版本
    • 1.2 安装需要的安装包
    • 1.3 改镜像仓库,改成阿里云的
    • 1.4 更新yum软件包索引
    • 1.5 安装Docker相关的依赖 docker-ce社区版 -ee企业版
    • 1.6 启动docker
    • 1.7 查看是否安装成功
  • 2. 安装mysql
  • 3. 安装Redis
  • 4. 安装Nacos
  • 5. 安装RockerMQ

1. 安装docker

  1. 需要一点Linux,Centos7,需要先安装yum

1.1 卸载旧的docker版本

sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

1.2 安装需要的安装包

yum install -y yum-utils

1.3 改镜像仓库,改成阿里云的

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 默认国外,太慢,不用
使用这个:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.4 更新yum软件包索引

yum makecache fast

1.5 安装Docker相关的依赖 docker-ce社区版 -ee企业版

sudo yum install docker-ce docker-ce-cli containerd.io

1.6 启动docker

sudo systemctl start docker

1.7 查看是否安装成功

docker version

2. 安装mysql

# 拉取mysql镜像
docker pull mysql:8.0.36

# 创建目录
cd ~
mkdir mysql8
cd mysql8

# 运行镜像
docker run -id \
--privileged=true \
--restart=always \
--name c_mysql8 \
-p 3306:3306 \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.36

# 设置防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

# 客户端访问
下载后并安装:https://github.com/webyog/sqlyog-community/wiki/Downloads
地址:192.168.5.128
端口:3306
账户:root
密码:123456

3. 安装Redis

# 拉取redis镜像
docker pull redis:7.2.4

# 创建目录
cd ~
mkdir redis7
cd redis7

# 运行镜像
docker run -id \
--privileged=true \
--restart=always \
--name c_redis7 \
-p 6379:6379 \
-v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v $PWD/log/redis.log:/var/log/redis.log \
-v $PWD/data:/data \
redis:7.2.4 --requirepass "123456"

# 设置防火墙
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

# 客户端访问
下载后并安装:https://github.com/lework/RedisDesktopManager-Windows/releases
地址:192.168.5.128
端口:6379
账户:不用填写
密码:123456

4. 安装Nacos

# 拉取Nacos镜像
docker pull nacos/nacos-server:v2.3.0

# 创建目录
cd ~
mkdir nacos2
cd nacos2

# 运行镜像
docker run -id \
--privileged=true \
--restart=always \
--name c_nacos2 \
-p 8848:8848 \
-p 9848:9848 \
-v $PWD/logs:/home/nacos/logs \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e NACOS_AUTH_IDENTITY_KEY=serverIdentity \
-e NACOS_AUTH_IDENTITY_VALUE=security \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
-e NACOS_AUTH_ENABLE=true \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
nacos/nacos-server:v2.3.0

# 设置防火墙
firewall-cmd --zone=public --add-port=8848/tcp --permanent
firewall-cmd --zone=public --add-port=9848/tcp --permanent
firewall-cmd --reload

# 浏览器访问
地址:http://192.168.5.128:8848/nacos/#/login
账号:nacos
密码:nacos

5. 安装RockerMQ

# 拉取镜像
docker pull apache/rocketmq:5.1.4
docker pull apacherocketmq/rocketmq-dashboard:latest




# 以下是nameserver相关处理
# 创建目录
cd ~
mkdir /usr/local/rocketmq/nameserver/logs -p
mkdir /usr/local/rocketmq/nameserver/bin -p
chmod 777 -R /usr/local/rocketmq/nameserver/*

# 运行镜像并拷贝启动脚本
docker run -d --privileged=true --name rmqnamesrv apache/rocketmq:5.1.4 sh mqnamesrv
docker cp rmqnamesrv:/home/rocketmq/rocketmq-5.1.4/bin/runserver.sh /usr/local/rocketmq/nameserver/bin/runserver.sh

# 修改启动脚本,找到调用calculate_heap_sizes函数的位置注释掉,然后保存
vi /usr/local/rocketmq/nameserver/bin/runserver.sh

# 停止并删除刚才运行镜像
docker stop rmqnamesrv
docker rm rmqnamesrv




# 以下是broker相关处理
# 创建目录
cd ~
mkdir /usr/local/rocketmq/broker/logs -p
mkdir /usr/local/rocketmq/broker/data -p
mkdir /usr/local/rocketmq/broker/conf -p
mkdir /usr/local/rocketmq/broker/bin -p
chmod 777 -R /usr/local/rocketmq/broker/*

# 创建配置
vi /usr/local/rocketmq/broker/conf/broker.conf
内容如下:
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 72
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true
autoCreateSubscriptionGroup = true

# 运行镜像并拷贝启动脚本
docker run -d --privileged=true --name rmqbroker apache/rocketmq:5.1.4 sh mqbroker
docker cp rmqbroker:/home/rocketmq/rocketmq-5.1.4/bin/runbroker.sh /usr/local/rocketmq/broker/bin/runbroker.sh

# 修改启动脚本,找到调用calculate_heap_sizes函数的位置注释掉,然后保存
vi /usr/local/rocketmq/broker/bin/runbroker.sh

# 停止并删除刚才运行镜像
docker stop rmqbroker
docker rm rmqbroker
 

编辑配置

vi /usr/local/rocketmq/standalone-rocketmq-5.yaml
version: '3.8'
services:
  rmqnamesrv:
    image: apache/rocketmq:5.1.4
    container_name: rmqnamesrv
    ports:
      - 9876:9876
    restart: always
    privileged: true
    volumes:
      - /usr/local/rocketmq/nameserver/logs:/home/rocketmq/logs
      - /usr/local/rocketmq/nameserver/bin/runserver.sh:/home/rocketmq/rocketmq-5.1.4/bin/runserver.sh
    environment:
      - MAX_HEAP_SIZE=512M
      - HEAP_NEWSIZE=256M
    command: ["sh","mqnamesrv"]
  broker:
    image: apache/rocketmq:5.1.4
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
    restart: always
    privileged: true
    volumes:
      - /usr/local/rocketmq/broker/logs:/home/rocketmq/logs
      - /usr/local/rocketmq/broker/store:/home/rocketmq/logs
      - /usr/local/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf
      - /usr/local/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-5.1.4/bin/runbroker.sh
    depends_on:
      - 'rmqnamesrv'
    environment:
      - NAMESRV_ADDR=rmqnamesrv:9876
      - MAX_HEAP_SIZE=512M
      - HEAP_NEWSIZE=256M
    command: ["sh","mqbroker","-c","/home/rocketmq/broker.conf"]
  rmqdashboard:
    image: apacherocketmq/rocketmq-dashboard:latest
    container_name: rmqdashboard
    ports:
      - 8080:8080
    restart: always
    privileged: true
    depends_on:
      - 'rmqnamesrv'
    environment:
      - JAVA_OPTS= -Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false

运行部署

# 部署服务
docker compose -f /usr/local/rocketmq/standalone-rocketmq-5.yaml up -d

# 防火墙设置
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=10909/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

# 浏览器访问
地址:http://192.168.5.128:8080

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1961745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习 | 评估原理——模型评估与交叉验证

Hi,大家好,我是半亩花海。学完分类算法原理的知识,我们进入评估相关知识的学习,继续更新《白话机器学习的数学》这本书的学习笔记,在此分享模型评估与交叉验证相关评估原理。本章的基于前几节已建立的模型进行评估知识…

【C语言】Linux 飞翔的小鸟

【C语言】Linux 飞翔的小鸟 零、环境部署 安装Ncurses库 sudo apt-get install libncurses5-dev壹、编写代码 代码如下&#xff1a; bird.c #include<stdio.h> #include<time.h> #include<stdlib.h> #include<signal.h> #include<curses.h>…

LeetCode:相同的树(C语言)

1、问题概述&#xff1a;给2个二叉树的根节点p和q&#xff0c;如果2个树在结构和数值上都相同才为true&#xff0c;否则为false 2、示例 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;p [1,2], q […

做知识付费项目还能做吗?知识付费副业项目如何做?能挣多少钱?

hello,我是阿磊&#xff0c;一个20年的码农&#xff0c;6年前代码写不动了&#xff0c;转型专职做副业项目研究&#xff0c;为劳苦大众深度挖掘互联网副业项目&#xff0c;共同富裕。 现在做知识付费项目还能做吗&#xff1f; 互联网虚拟资源项目我一直在做&#xff0c;做了有…

AI绘画模型之:UNet、Imagen 与 DeepFloyd IF

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

spring boot(学习笔记第十五课)

spring boot(学习笔记第十五课) Spring boot的websocket(广播) 学习内容&#xff1a; Spring boot的websocket&#xff08;广播&#xff09; 1. Spring boot的websocket&#xff08;广播&#xff09; 回顾下web server的进化 第一代Web程序&#xff0c;使用整体页面刷新技术…

GPT-4o mini- 开发者的新宠儿

在人工智能的浪潮中,一颗新星正在冉冉升起。OpenAI最新发布的GPT-4o mini模型以其惊人的性能和极具竞争力的价格,正在成为开发者们的新宠儿。作为一名大数据开发者,我深深被这个"迄今为止最具成本效益的小模型"所吸引。让我们一起探索GPT-4o mini的魅力,看看它如何改…

一些问题 7/28

get post可以public吗 在Java Servlet中&#xff0c;doGet()和doPost()方法的访问修饰符通常是public&#xff0c;因为这些方法需要被Servlet容器&#xff08;如Tomcat&#xff09;调用。 如果将这些方法声明为private或protected&#xff0c;Servlet容器将无法访问它们&…

RocketMQ Server Windows安装

RocketMQ阿里开发 开源给apache 官网:RocketMQ 官方网站 | RocketMQ 下载后解压 配置环境变量 注意启动顺序 双击 注意 4.9.0这个版本必须 jdk 8 高了用不了 namesrv是注册中心的作用 broke是核心用于接收生产者消息 存储消息 发送给消费者消息 类似DubboZookeeper…

C++ 绘制画布标尺

目标 关键代码 CRulerDrawer::CRulerDrawer(QPainter& painter, QRect rect, int scalePercent): m_painter(painter), m_rect(rect), m_scalePercent(scalePercent) {m_palette qApp->palette();m_scaleUnitSize PixelRuler::Instance()->GetScaleUnitSize(); }vo…

【JS|第22期】深入理解跨域

日期&#xff1a;2024年7月6日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xff…

Vue开发环境搭建

文章目录 引言I 安装NVM1.1 Windows系统安装NVM,实现Node.js多版本管理1.2 配置下载镜像1.3 NVM常用操作命令II VUE项目的基础配置2.1 制定不同的环境配置2.2 正式环境隐藏日志2.3 vscode常用插件引言 开发工具: node.js 、npm 开发编辑器:vscode 开发框架:VUE I 安装NVM…

react中zuStand状态管理工具使用

一、zuStand的基本使用 1.安装工具 npm install zustand 2.新建文件 在src下新建store文件夹&#xff0c;在store文件夹下新建zuStand.js文件 3.配置zuStand.js // 1.引入创建方法 import { create } from "zustand";// 2.创建store const useStore create((s…

未来不会使用 AI 的人真的会被淘汰吗?

AI 是今年大火的一个话题&#xff0c;随着 ChatGPT 之类的一系列大模型开始流行以后&#xff0c;有不少的培训机构宣称这样的口号: “未来不会使用 AI 的人将会被淘汰”。我觉得这个观点本身并没有错&#xff0c;但是关键在于那些培训机构出于自身的利益&#xff0c;故意忽略了…

(源码分析)springsecurity认证授权

了解 1. 结构总览 SpringSecurity所解决的问题就是安全访问控制&#xff0c;而安全访问控制功能其实就是对所有进入系统的请求进行拦截&#xff0c;校验每个请求是否能够访问它所期望的资源。 根据前边知识的学习&#xff0c;可以通过Filter或AoP等技术来实现&#xff0c;Spr…

Sparse Vector Coding稀疏矢量码介绍

需要MATLAB代码的小伙伴请通过微信公众号私信我~ 更多精彩内容请关注微信公众号 ‘优化与算法’ 前言 5G和6G无线通信期望带来更高的频谱效率和能量效率&#xff0c;为了达到这些目标&#xff0c;近年来已经提出了各种新技术。其中&#xff0c;索引调制IM&#xff08;Index …

「树形结构」基于 Antd 实现一个动态增加子节点+可拖拽的树

效果 如图所示 实现 import { createRoot } from react-dom/client; import React, { useState } from react; import { Tree, Input, Button } from antd; import { PlusOutlined } from ant-design/icons;const { TreeNode } Tree; const { Search } Input;const ini…

优选算法之位运算

目录 一、常见位运算总结 1.基础位运算 2.给定一个数 n&#xff0c;确定它的二进制表示中的第 x 位是 0 还是 1 3.将一个数 n 的二进制表示的第 x 位修改成1 4.将一个数 n 的二进制表示的第 x 位修改成 0 5.提取一个数 n 二进制表示中最右侧的1 6.干掉一个数 n 二进制表示…

分布式存储系统架构及应用

分布式存储系统概述&#xff08;详细、全面&#xff09; 【摘要】深度剖析分布式存储系统的可靠性、可用性、IO性能、数据存储效率、安全性及管理性&#xff0c;为寻求了解此领域的读者提供实用参考。 一、 内容总括 分布式存储系统&#xff0c;依托网络互联的多节点软硬件协同…

人脸识别又进化:扫一下 我就知道你得了啥病

未来&#xff0c;扫下你的脸&#xff0c;可能就知道你得啥病了。没在瞎掰&#xff0c;最近的一项研究成果&#xff0c;还真让咱看到了一点眉目。北大的一个研究团队&#xff0c;搞出来一个 AI &#xff0c;说是用热成像仪扫一下脸&#xff0c;就能检测出有没有高血压、糖尿病和…