docker和常用的中间件安装汇总
一、背景:近期整理环境,汇总了下docker 安装常用的中间件,方便我们自己搭建个人的开发环境,做个记录
1、首先是docker 本身(centos)的安装:
# 旧版本卸载
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine # 安装工具
sudo yum install -y yum-utils # 配置docker安装地址
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #安装最新版本的Docker引擎和containerd
sudo yum install docker-ce docker-ce-cli containerd.io # docker 启动
systemctl start docker # 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["你的镜像地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2、安装redis
2.1、单实例
docker run --name redis -p 6379:6379 -d redis:latest redis-server --appendonly yes --requirepass "mypassword"
2.2、装redis集群
#创建docker 网络 172.18.0 172.17.0.1 docker network create redis --subnet 172.18.0.0/16 #创建redis 配置文件 for port in $(seq 1 6);\
do \
sudo mkdir -p /home/redis-cluster/node-${port}/conf
sudo touch /home/redis-cluster/node-${port}/conf/redis.conf
sudo cat << EOF >/home/redis-cluster/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.18.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done # 启动redis for port in $(seq 1 6);\
do \
docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \
-v /home/redis-cluster/node-${port}/data:/data \
-v /home/redis-cluster/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.18.0.1${port} redis redis-server /etc/redis/redis.conf ; \
done #连接redis客户端,配置集群
# 进入任意一个redis 容器内部 docker exec -it redis-1 /bin/sh # 连接redis,配置集群
redis-cli --cluster create 172.18.0.11:6379 172.18.0.12:6379 172.18.0.13:6379 172.18.0.14:6379 172.18.0.15:6379 172.18.0.16:6379 --cluster-replicas 1
3、安装nacos
docker run --name nacos -e MODE=standalone -p 8848:8848 -p 9848:9848 -d nacos/nacos-server:2.0.2
4、安装jenkins
# 获取镜像
docker pull jenkins/jenkins:lts
# 挂载目录创建 ,可以将部署用到的中间件放到下面路径,如jdk、maven等
mkdir -p /usr/local/application/data/jenkins_home/
chmod 777 /usr/local/application/data/jenkins_home/ docker run -d -p 8080:8080 -p 50000:50000 -v /usr/local/application/data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins:lts # 找到管理员密码初始化jenkins
logs jenkins # 也可以进入jenkins容器内部
docker exec -it jenkins /bin/bash
5、安装mariadb
docker run --name mariadb --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mypassword -v /usr/local/application/mariadb/data:/var/lib/mysql -d mariadb:10.7.3-focal
6、安装zookeeper
docker run --name zookeeper -p 2888:2888 -p 3888:3888 -p 8080:8080 -p 2181:2181 --restart always -d
7、安装nginx
# 拉取最新镜像 也可指定版本
docker pull nginx # 创建挂载目录
mkdir -p /usr/local/application/nginx/conf
mkdir -p /usr/local/application/nginx/log
mkdir -p /usr/local/application/nginx/html # 生成容器
docker run --name nginx -p 80:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/ # 移动配置文件到本地
docker cp nginx:/etc/nginx/nginx.conf /usr/local/application/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /usr/local/application/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /usr/local/application/nginx/ # 移除久的ng
docker rm -f nginx # 启动ng 并挂载配置文件
docker run --net=host -p 80:80 --name nginx -v /usr/local/application/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/application/nginx/conf/conf.d:/etc/ngi
nx/conf.d -v /usr/local/application/nginx/log:/var/log/nginx -v /usr/local/application/nginx/html:/usr/share/nginx/html -d nginx
docker和常用的中间件安装汇总的更多相关文章
- Docker的学习--介绍和安装
什么是 Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Lin ...
- 使用 docker 部署常用的开发环境
使用 docker 部署常用的开发环境 Intro 使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便. 前段时间电脑之前返厂修了,回来之后所有的软件都 ...
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
- Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试
前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...
- Docker之1---介绍和安装
Docker介绍 Docker是一个开源项目,让应用程序布署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制. Docker利 ...
- 【Docker入门】Docker的常用命令
了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...
- Docker:Ubuntu下的安装
Docker是什么 Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托 管在 GitHub 上, 基于Go语言并遵从Apache2. ...
- Sublime Text 无法使用Package Control的解决方法 以及 常用的插件安装过程
大概一个月之前给 Macbook air 装 Sublime Text 3 的时候,遇到过这个问题,当时解决了,现在回想,感觉忘的七七八八了,赶紧趁着还没有全忘光的时候记下来,当时的过程记得不一定准确 ...
- webpack常用的插件安装命令
webpack常用的插件安装命令:1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:npm install css-loa ...
- Linux常用到的指令汇总
Linux常用到的指令汇总 根据鸟哥linux私房菜上定义的:一定要先學會的指令:ls, more, cd, pwd, rpm, ifconfig, find 登入與登出(開機與關機):telnet, ...
随机推荐
- 不可忽略的.gitignore_global
会不会很奇怪,本地的代码运行没有问题,以为自己提交到远程仓库了 但是别人下载下来却没有,有没有可能是你根本没提交上去,对了,你真的有可能没提交上去 你本地这个文件是灰色的,确实没有提交上去,但是项目中 ...
- 【剑指Offer】【树】二叉树中和为某一值的路径
题目:输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中,数组长度大的数 ...
- .netcore部署linux、国产化环境
前言: 本文基于centos7.9操作系统,服务器x86/x64,所有操作在虚拟机中操作,记录部署过程中出现的问题,在此记录解决方案. 查看系统版本命令: cat/etc/redhat-release ...
- SAP MD04屏幕显示增强
需求 在看物料MRP结果的时候,业务人员想要看到工单批次,工单批次是我们这边工单下达后传输到其他系统,然后由其他系统回传回来的. 开发步骤 主要使用二代增强出口:M61X0002 创建增强项目 事务码 ...
- Java面向对象之什么是继承?
继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模. extends的意思是"扩展".子类是父类的扩展. Java中类只有单继承,没有多继承!即 一个儿子只能有一个爸 ...
- sys&faker&jsonpath模块、异常处理、多线程、多进程
1.sys模块 sys.argv 能获取运行文件时,文件名后面所传参数.结果是一个列表. import sys print(sys.argv) #获取运行python文件的时候传入的参数,会连同文件名 ...
- 第四章:用Python对用户的评论数据进行情感倾向分析
文章目录 项目背景 获取数据 情感倾向 senta_bilstm 模型 情感划分 数据描述 数据分析 总体评论倾向 评论分布 各分布的情感倾向 评论分词 去除停用词 绘制词云图 结论 源码地址 本文可 ...
- pr导出mp4格式提示无法播放解决方案
pr导出mp4格式提示无法播放解决方案 1.这里的mp4格式就是导出的H.264格式 2. 这里选择导出,默认选项,导出视频有时候出现无法播放现象 3.另外,在视频右击的详细信息中没有任何数据 ...
- Android 杂项
1. String to InputStream new ByteArrayInputStream(str.getBytes());
- Android使用volley发送带参数的post请求
用参数方式可以解决E/Volley: [777] BasicNetwork.performRequest: Unexpected response code 500 for XXXXX 1.Strin ...