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, ...
随机推荐
- js - 解决微信环境下,ios软键盘收起后页面空白
思路:1.判断是否在微信中 2.判断是否在ios中 3.表单元素焦点将页面滚回到顶部 是否是微信环境 isWx() { let ua = navigator.u ...
- [NPUCTF2020]认清形势,建立信心
[NPUCTF2020]认清形势,建立信心 题目 from Crypto.Util.number import * from gmpy2 import * from secret import fla ...
- accessservice对于难定位的view如何定位
private static int tabcount = -1; private static StringBuilder sb; public static void printPacketInf ...
- latex table \ref{}编号混乱
解决:\lable{}要紧放在\caption{}下 点击查看代码 \begin{table} ... \caption{Table A} \label{TableA} ... \end{table}
- Python 常用笔记
记录 http://blog.sina.com.cn/s/blog_73b339390102yoio.html PE:市盈率 = 股价 / 每股盈利 PEG:(市盈率相对盈利增长比率/市盈增长比率) ...
- springbooot 序列化对象配置
RbpsemsConfig: @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.class) public Objec ...
- Java实现简单个人所得税计算器相关操作代码
/** * 个税计算器 * 1.通过键盘输入用户的月薪 * 2.百度搜素个税计算方法,计算出应缴纳的税款 * 3.直到键盘输入88,则退出程序(使用break语句退出循环) * 应纳税所得额=工资收入 ...
- SQL group by date (hour),数据库按小时分组统计数据量
SELECT COUNT(1), TRUNC(BEGINTIME, 'HH24') FROM TASK -- WHERE BEGINTIME > '2022-03-01' GROUP BY TR ...
- c++练习266题:楼层编号
*266题 原题传送门:http://oj.tfls.net/p/266 题解: #include<bits/stdc++.h>using namespace std; int t;//高 ...
- 51nod 1594 Gcd and Phi
Link 题解: $ans = \sum_{i = 1}^{n}\sum_{j = 1}^{n}phi(gcd(phi(i), phi(j)))$ $=\sum_{d = 1}^{n}phi(d)\s ...