Docker实战

一、Docker安装

以下均以CentOS 7为例

1、安装Docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2、启动和校验

# 启动Docker
systemctl start docker# 停止Docker
systemctl stop docker# 重启
systemctl restart docker# 设置开机自启
systemctl enable docker# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

3、配置镜像加速

以阿里云为例,进入阿里云控制台->产品->容器->容器镜像服务ACR->镜像加速器->找到命令,按照示例程序来,例:

# 创建目录
mkdir -p /etc/docker# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF# 重新加载配置
systemctl daemon-reload# 重启Docker
systemctl restart docker

二、Docker常用软件安装

2.1、MySQL

1、建三个文件夹data、conf、init,这里我建在了/root/mysql目录下,大家可根据自己情况

2、run,没有镜像的话会自动安装

docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \-v /root/mysql/data:/var/lib/mysql \-v /root/mysql/conf:/etc/mysql/conf.d \-v /root/mysql/init:/docker-entrypoint-initdb.d \mysql

2.2、Redis

1、创建文件夹data、conf、log,这里我创建到/root/redis目录下

2、去官网下载配置文件 Redis官网  和自己版本对应好就行

然后修改一下配置文件,例如:

bind 127.0.0.1 #注释掉这部分,使redis可以外部访问

daemonize no#用守护线程的方式启动

requirepass 你的密码#给redis设置密码

appendonly yes#redis持久化  默认是no

tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300

下载下来的redis.conf放置在conf目录下,再在log目录下新建redis.log文件夹,赋予777权限。

3、 安装Redis

docker pull redis # 安装最新版本docker pull redis:5.0.7 # 指定版本

4、运行

docker run -d \--name redis \-p 6379:6379 \-v /root/redis/data:/data \-v /root/redis/conf/redis.conf:/etc/redis/redis.conf \-v /root/redis/log/redis.log:/var/log/redis.log \-d redis:5.0.7 \redis-server /etc/redis/redis.conf

对上面命令进行一个解释:

docker run -d \--name redis \-p 6379:6379 \ # 把容器6379端口映射到宿主6379-v /root/redis/data:/data \ # 将主机上的 /root/redis/data 目录挂载到容器内部的 /data 目录,以便可以将 Redis 数据持久化到主机-v /root/redis/conf/redis.conf:/etc/redis/redis.conf \ # 将主机上的 /root/redis/conf/redis.conf 文件挂载到容器内部的 /etc/redis/redis.conf 文件,以便可以使用自定义的 Redis 配置文件-v /root/redis/log/redis.log:/var/log/redis.log \ # redis日志-d redis:5.0.7 \ # 指定要使用的 Redis 镜像及版本号,并在后台运行容器redis-server /etc/redis/redis.conf # # 在容器内部执行的命令,启动 Redis 服务,并使用 /etc/redis/redis.conf 配置文件

2.3、RocketMQ

1、创建文件夹rocketmq,其下broker、nameserver,broker下面创建conf、logs、store,nameserver下面创建logs、store

2、在/root/rocketmq/broker/conf下创建broker.conf,并配置如下:

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSHnamesrvAddr=IP:9876
brokerIP1=IP
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911

namesrvAddr和brokerIP1必须是具体的IP地址

3、拉取rocketmq

docker pull apache/rocketmq  # 拉最新docker pull apache/rocketmq:4.9.4  # 拉取指定版本

4、启动nameserver

docker run -d \--name mqnameserver \-p 9876:9876 \-v /root/rocketmq/nameserver/logs:/root/logs \-v /root/rocketmq/nameserver/store:/root/store \-d apache/rocketmq:4.9.4 \sh mqnamesrv

解释

 -name mqnameserver | 把容器的名字设置为mqnameserver
-p 9876:9876| 把容器内的端口9876挂载到宿主机9876上面
-v /root/rocketmq/nameserver/logs:/root/logs | 把容器内的/root/logs日志目录挂载到宿主机的 
/root/rocketmq/nameserver/store:/root/store | 把容器内的/root/store数据存储目录挂载到宿主机
-e “MAX_POSSIBLE_HEAP=100000000” | 设置容器的最大堆内存为100000000
apache/rocketmq:4.9.4 | 使用的镜像名称
sh mqnamesrv | 启动namesrv服务

5、启动broker

docker run -d \--name mqbroker \--link mqnameserver:namesrv \-p 10911:10911 \-p 10909:10909 \-v /root/rocketmq/broker/logs:/root/logs \-v /root/rocketmq/broker/store:/root/store \-v /root/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.9.4/conf/broker.conf \-e "NAMESRV_ADDR=namesrv:9876" \-d apache/rocketmq:4.9.4 \sh mqbroker -c /opt/rocketmq-4.9.4/conf/broker.conf 

解释

–link mqnameserver:namesrv | 和rmqnamesrv容器通信
-p 10911:10911 | 把容器的非vip通道端口挂载到宿主机
-p 10909:10909 | 把容器的vip通道端口挂载到宿主机
-e “NAMESRV_ADDR=namesrv:9876” | 指定namesrv的地址为本机namesrv的ip地址:9876
-e “MAX_POSSIBLE_HEAP=200000000” rocketmqinc/rocketmq sh mqbroker | 指定broker服务的最大堆内存
 apache/rocketmq:4.9.4 | 使用的镜像名称
sh mqbroker -c /opt/rocketmq-4.9.4/conf/broker.conf | 指定配置文件启动broker节点 

6、创建rocketmq-console服务

拉取rocketmq-console

docker pull pangliang/rocketmq-console-ng

启动rocketmq-console

docker run -d \--name mqconsole \-p 9999:8080 \-e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.164.100:9876 \-Dcom.rocketmq.sendMessageWithVIPChannel=false" \pangliang/rocketmq-console-ng

解释上面语句

-name rmqadmin | 把容器的名字设置为rmqadmin
-e “JAVA_OPTS=-Drocketmq.namesrv.addr=IP:9876 | 设置namesrv服务的ip地址
-Dcom.rocketmq.sendMessageWithVIPChannel=false” | 不使用vip通道发送消息
–p 9999:8080 | 把容器内的端口8080挂载到宿主机上的9999端口

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

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

相关文章

【JMeter】定时器分类以及场景介绍

1. 定时器分类 固定定时器 作用&#xff1a;请求之间设置等待时间应用场景&#xff1a;查询商品列表后&#xff0c;去查看列表商品详情页。针对商品列表数据量比较大的&#xff0c;响应时间会比较长&#xff0c;就需要设置等待时间然后去查看商详 2.定时器的作用域&#xff1…

10-26 maven配置

打开idea 打开setting 基于Idea创建idea项目 加载jar包&#xff1a;(一般需要自己去手动加入&#xff0c;本地仓库是没有的)

AlGaN/GaN HEMT 中缓冲区相关电流崩溃的缓冲区电位模拟表征

标题&#xff1a;Characterization of Buffer-Related Current Collapse by Buffer Potential Simulation in AlGaN/GaN HEMTs 来源&#xff1a;IEEE TRANSACTIONS ON ELECTRON DEVICES (18年) 摘要 - 在本文中&#xff0c;通过使用脉冲 I-V 测量和二维漂移扩散模拟研究了 Al…

Go语言的Json序列化与反序列化、Goto语法、Tcp Socket通信

目录标题 一、Json序列化与反序列化1. 序列化2. 反序列化 二、Goto语法三、Tcp Socket1. 单客户端发送信息到服务端2. 服务端客户端通信 一、Json序列化与反序列化 1. 序列化 package mainimport ("encoding/json""fmt")type Person struct {Name string…

pg14-sql基础(二)-排序与条件

排序 SELECT employee_id, first_name, last_name, hire_date, salary FROM employees ORDER BY first_name; --按字母&#xff0c;默认升序 ORDER BY hire_date ASC; --升序 ORDER BY hire_date DESC; --降序SELECT employee_id, first_name, last_name, hire_date, salary F…

Stable Diffusion webui 源码调试(三)

Stable Diffusion webui 源码调试&#xff08;三&#xff09; 个人模型主页&#xff1a;LibLibai stable-diffusion-webui 版本&#xff1a;v1.4.1 内容更新随机&#xff0c;看心情调试代码~ shared 变量 shared变量&#xff0c;简直是一锅大杂烩&#xff0c;shared变量存放…

数据结构与算法C语言版学习笔记(3)-线性表的链式结构:链表

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言&#xff1a;回顾顺序表的优缺点&#xff1a;为什么要引入链式结构的线性表&#xff1f; 一、什么是链表&#xff1f;二、链表的分类①为什么要设置头节点&…

案例-注册页面(css)

html页面用css控制样式&#xff0c;画一个注册页面。 页面最终效果如下&#xff1a; 页面代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title> <style>*{…

excel表的筛选后自动求和

一般都使用subtotal函数。 通过看一个大佬的视频&#xff0c;发现可以有更简单的方法。 首先任意筛选数据(ctrlshiftl)&#xff0c; 然后选中需要求和的列的最下方的空白单元格&#xff0c;再按alt。 回车即可。 实质它还是用的subtotal函数

Jekyll框架编译GithubPages,提示没有docs

Jekyll Converters::Scss build issue: No such file or directory dir_chdir - /github/workspace/docs Error: No such file or directory dir_chdir - /github/workspace/docs 解决方案&#xff1a; 修改github page仓库中–> 设置—> pages 把里面的\docs&#xf…

Redis Java 开发简单示例

文章目录 一、概述二、Jedis 开发示例2.1 导入 maven 依赖2.2 使用连接池读写2.3 使用集群读写2.4 完整示例代码2.5 测试集群的搭建 三、Lettuce 开发示例3.1 导入 maven 依赖3.2 读写数据 四、Spring Boot Redis 开发示例4.1 导入 maven 依赖4.2 配置Redis服务地址4.3 基于 Re…

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。

Android平台上执行C/C可执行程序&#xff0c;linux系统编程开发&#xff0c;NDK开发前奏准备。 1.下载NDK&#xff0c;搭建NDK开发环境 下载地址 https://developer.android.com/ndk/downloads 下载过程中点击下面箭头的地方&#xff0c;点击鼠标右键&#xff0c;复制好下载…

【React-Native开发3D应用】React Native加载GLB格式3D模型并打包至Android手机端

【React-Native开发3D应用】React Native加载GLB格式3D模型并打包至Android手机端 【加载3D模型】**React Native上如何加载glb格式的模型**第零步&#xff0c;选择相关模型第一步&#xff0c;导入相关模型加载库第二步&#xff0c;自定义GLB模型加载钩子第三步&#xff0c;借助…

现一个智能的SQL编辑器

补给资料 管注公众号&#xff1a;码农补给站 前言 目前我司的多个产品中都支持在线编辑 SQL 来生成对应的任务。为了优化用户体验&#xff0c;在使用 MonacoEditor 为编辑器的基础上&#xff0c;我们还支持了如下几个重要功能&#xff1a; 多种 SQL 的语法高亮多种 S…

React路由与导航

目录 前言&#xff1a; 什么是React路由&#xff1f; 导航和页面切换 路由参数和动态路由 路由守卫和权限控制 总结 前言&#xff1a; React是一个流行的JavaScript库&#xff0c;用于构建用户界面。在使用React开发Web应用程序时&#xff0c;路由和导航是必不可少的功能…

【MATLAB源码-第69期】基于matlab的LDPC码,turbo码,卷积码误码率对比,码率均为1/3,BPSK调制。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 本文章介绍了卷积码、Turbo码和LDPC码。以相同的码率仿真这三种编码&#xff0c;并对比其误码率性能 信源输出的数据符号&#xff08;二进制&#xff09;是相互独立和等概率的&#xff1b; 信道是加性白高斯噪声信道&#…

qframework 架构 (作者:凉鞋)使用笔记

一些准则&#xff1a; 根据VIEW->SYSTEM->MODEL的分层架构 初始架构&#xff1a; app. using FrameworkDesign;namespace ShootingEditor2D&#xff08;项目的命名空间&#xff09; {public class ShootingEditor2D &#xff08;游戏名称&#xff09;: Architecture&l…

LinuxMySql

结构化查询语言 DDL&#xff08;数据定义语言&#xff09; 删除数据库drop database DbName; 创建数据库create database DbName; 使用数据库use DbName; 查看创建数据库语句以及字符编码show create database 43th; 修改数据库属性&#xff08;字符编码改为gbk&#xff09;…

HR人才测评,采用线上测评做春招秋招

从人力资源管理的工作&#xff0c;已经有好些年了&#xff0c;我只想说这不是一个有创意和创造性的工作&#xff0c;因为大部分时间我都在从事数据方面的工作。关于公司内部的文案工作先且不说&#xff0c;这里分享下我做招聘工作的过程。 每年春秋两季的校招&#xff0c;算是…

基于单片机的多层电梯控制仿真系统

**单片机设计介绍&#xff0c; 基于单片机的多层电梯控制仿真系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的多层电梯控制仿真系统是一个复杂的系统&#xff0c;它需要结合单片机技术、控制理论、电子技术以及人…