Docker命令 常用中间件运维部署,方便构建自己服务

Tips:记录了如何安装不同中间件的Docker命令,帮助大家更方便的搭建自己服务,会不定期更新。

MySQL

# Mysql 5版本:
docker run -d -p 3306:3306 --privileged=true \
-v /itholmes/mysql/log:/var/log/mysql \
-v /itholmes/mysql/data:/var/lib/mysql \
-v /itholmes/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=0818 --name mysql8 mysql:8.0.34# Mysql 8版本:
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7# 参数说明
# -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
# -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
# -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
# -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
# -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
# vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

Redis

# Redis 容器卷配置
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

ES

# 安装es docker
docker pull elasticsearch:7.4.2
# 提供可视化 可视化检索数据
docker pull kibana:7.4.2 # 查看安装还有多少内存
free -m# 挂载的 配置和数据存储 目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
# 配置elasticsearch的配置文件,
# 作用:http.host参数用于指定Elasticsearch HTTP服务的绑定地址。当设置为0.0.0.0时,表示Elasticsearch将监听所有可用的网络接口,包括本地回环地址(localhost)和外部网络接口。
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml# 9200端口:接受Rest API请求端口。
# 9300端口:分布式集群状态下的通信接口
# -e "discovery.type=single-node":指定单节点模式
# -e ES_JAVA_OPTS="-Xms64m -Xmx128m":指定初始占用内存 和 最大占用内存,必须指定,不然占死内存。
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2# docker启动失败,查看日志
docker logs 应用名# 安装过程可能遇到 elasticsearch accessdenied问题,那是文件目录权限问题
chmod -R 777 /mydata/elasticsearch# 重新启动elasticsearch
docker start elasticsearch # -e ELASTICSEARCH_HOSTS:指定elasticsearch的ip地址和api端口号
docker run --name kibana \
-e ELASTICSEARCH_HOSTS=http://192.168.154.132:9200 \
-p 5601:5601 \
-d kibana:7.4.2# 注意:这里启动后是一个小linux容器,所以,此处没办法去应用在hosts文件配置的域名解析,需要用真实的IP或公共域名# 同样通过logs命令,排除安装失败问题
docker logs kibana

Nginx

# 1. 先下载一个nginx,方便获取/etc/nginx目录下的配置文件。
docker run -p 80:80 --name nginx -d nginx:1.10
# 将容器中的/etc/nginx 复制当前目录。
docker container cp nginx:/etc/nginx .
# 将其改为conf文件,用来映射conf文件。
mv nginx/ conf/# 2. 创建nginx容器
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10# 3. 访问对应ip:80 ,测试是否安装成功。# 4. 进入nginx/html目录下,创建es目录,放置es词典器。
mkdir es
cd es
# 在es目录下面,创建一个fenci.txt文件:可以输入一些测试词语、张三等等。
vi fenci.txt

RabbitMQ

# 1. 启动 rabbitmq:management 容器
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 \
-p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
# 2. 自动重启
docker update rabbitmq --restart=always

Nacos

# nacos安装
docker run --env MODE=standalone --name nacos \
--restart=always \
-d -p 8848:8848 nacos/nacos-server

Tomcat

# tomcat安装
docker run -id --name=c_tomcat \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat # -p 8080:8080:将容器的8080端口映射到主机的8080端口
# -v $PWD:/usr/local/tomcat/webapps:将主机中当前目录挂载到容器的webapps

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

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

相关文章

【数据结构&C++】超详细一文带小白轻松全面理解 [ 二叉平衡搜索树-AVL树 ]—— [从零实现&逐过程分析&代码演示简练易懂]

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.AVL树的概念二.AVL树节点的定义(代码…

Android自动化测试,5个必备的测试框架

Appium Appium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生、网络和混合)。作为一个跨平台的工具,你可以在不同的平台上运行相同的测试。为了实现跨平台的功能,Appi…

linux高级篇基础理论五(用户安全,口令设置,JR暴力破解用户密码,NMAP端口扫描)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。 ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技…

linux中利用fork复制进程,printf隐藏的缓冲区,写时拷贝技术,进程的逻辑地址与物理地址

1.prinf隐藏的缓冲区 1.思考:为什么会有缓冲区的存在? 2.演示及思考? 1).演示缓存区没有存在感 那为什么我们感觉不到缓冲区的存在呢?我们要打印东西直接就打印了呢? 我们用代码演示一下: 比如打开一个main.c,输入内容如下: #include <stdio.h>int main(){printf…

使用vs查看虚函数内存分布

class D size(16):---0 | --- (base class Base)0 | | {vfptr}8 | | num| | <alignment member> (size4)| ------D::$vftable:| &D_meta| 00 | &D::funD::fun this adjustor: 0虚函数其左侧的 0 表示的是虚函数的序号&#xff0c;并不是和上…

Vue 3.0 中重置 reactive 定义的响应式对象数据,恢复为初始值

Vue 3.0 中如何重置 reactive 定义的数据&#xff0c;恢复为初始值&#xff1f; - 知乎 1、直接挨个重置数据&#xff08;不适用对象中有多个属性&#xff0c;比较繁琐&#xff09; import { reactive } from vueconst state reactive({count: 0,name: John })// 重置数据&a…

知云文献翻译——外语论文你get了吗?

今天博主分享一款实用的翻译软件&#xff0c;希望对大家日后的学习有所帮助。这个翻译网站&#xff0c;主要做文档翻译&#xff0c;可以上传PDF、Word、Excel这些格式&#xff0c;翻译语言也比较齐全。操作简单&#xff0c;功能多样的翻译软件;知云文献翻译最新版可以直接对PDF…

Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)

Linux 软件包管理器 yum 什么是软件包&#xff1a; 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通…

平衡二叉树c语言版

一、定义二叉树结点结构体 /*** 定义平衡二叉树结点 */ struct avlbinarytree { //数据域NodeData* data;///树高int h;struct avlbinarytree* left;struct avlbinarytree* right; }; typedef struct avlbinarytree AVLNode; 二、声明函数的操作 /*** 创建结点 */ AV…

[解决] 问题:ImportError: cannot import name ‘Callable‘ from ‘collections‘

问题 我在运行yolov8的代码时&#xff0c;出现了ImportError: cannot import name Callable from collections的错误 原因 版本问题:以下collections的方法都在Python3.10版本后被取消了 ["Awaitable", "Coroutine", "AsyncIterable", "A…

2023亚太地区数学建模竞赛A题B题C题思路+模型+代码

目录 2023亚太地区数学建模A题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末名片 2023亚太地区数学建模B题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末名片 2023亚太地区数学建模C题思路&#xff1a;开赛后第一时间更新&#xff0c;获取见文末名…

Web(5)Burpsuite之文件上传漏洞

1.搭建网站&#xff1a;为网站设置没有用过的端口号 2.中国蚁剑软件的使用 通过一句话木马获得权限 3.形象的比喻&#xff08;风筝&#xff09; 4.实验操作 参考文章&#xff1a; 文件上传之黑名单绕过_文件上传黑名单绕过_pigzlfa的博客-CSDN博客 后端验证特性 与 Window…

发送注册连接到 FreeSWITCH 服务器的客户端

import socketdef send_register_request(username, password, server_ip, server_port):# 构建注册消息register_message (fREGISTER sip:{server_ip} SIP/2.0\r\nVia: SIP/2.0/UDP client;branchz9hG4bK776asdhds\r\nMax-Forwards: 70\r\nfFrom: <sip:{username}{server_…

一起学docker系列之四docker的常用命令--系统操作docker命令及镜像命令

目录 前言1 操作 Docker 的命令1.1 启动 Docker1.2 停止 Docker1.3 重启 Docker1.4 查看 Docker 状态1.5 查看 Docker 所有命令的信息1.6 查看某个命令的帮助信息 2 操作镜像的命令2.1 查看所有镜像2.2 搜索某个镜像2.3 下载某个镜像2.4 查看镜像所占空间2.5 删除镜像2.6 强制删…

Threejs_04 gui调试开发

threejs的快捷调试工具就是这玩意&#xff0c;那么如何使用呢&#xff1f;&#xff1f; 使用gui调试开发 引入gui实例 //导入lil.gui // import * as dat from "dat.gui"; // 旧 import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";…

Java面试:全面掌握Java知识的捷径!

亲爱的读者们&#xff0c;你是否正在为Java面试而苦恼&#xff0c;不知道该如何准备&#xff1f;你是否想要提升自己的Java知识水平&#xff0c;成为面试中的佼佼者&#xff1f;这篇文章将为你提供最全面的Java面试知识和技巧&#xff0c;让你在面试中游刃有余。 问题&#xf…

解决Python requests库中的重定向问题

目录 一、默认情况下&#xff0c;requests库如何处理重定向 二、手动处理重定向 三、处理多个重定向 四、注意事项 总结 在Python requests库中&#xff0c;处理重定向是一个常见的问题。默认情况下&#xff0c;requests库会自动处理重定向&#xff0c;并将最终的响应返回…

leetcode算法之分治-快排

目录 1.颜色分类2.排序数组3.数组中的第k个最大元素4.最小的k个数 1.颜色分类 颜色分类 class Solution { public:void sortColors(vector<int>& nums) {int n nums.size();int left -1,rightn,i0;while(i<right){if(nums[i] 0) swap(nums[left],nums[i]);e…

(四)、基于 LangChain 实现大模型应用程序开发 | 基于知识库的个性化问答 (基本功能介绍)

⭐ 使用大语言模型构建一个能够回答关于给定文档和文档集合的问答系统是一种非常实用和有效的应用场景。与仅依赖模型预训练知识不同&#xff0c;这种方法可以进一步整合用户自有数据&#xff0c;实现更加个性化和专业的问答服务。 例如,我们可以收集某公司的内部文档、产品说明…

Java JSON字符串替换其中对应的值

代码&#xff1a; public static void main(String[] args) { // String theData crmScene.getData();String theData "[{\"type\":1,\"values\":[\"审批中\",\"未交付\"],\"name\":\"status\"}]"…