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, ...
随机推荐
- K8s之Etcd的备份与恢复
ETCD简介 ETCD用于共享和配置服务发现的分布式,一致性的KV存储系统. ETCD是CoreOS公司发起的一个开源项目,授权协议为Apache. ETCD 存储 k8s 所有数据信息 ETCD 是 ...
- springmvc 能进入Controller,但是前端页面还是404
问题现象: 1.Controller里面的方法上已经加了注解 @ResponseBody 2.能进入controller的方法里面: 3.前端返回状态码 404: 4.控制台没有异常信息: 问题原因: ...
- Git 提交和拉取服务器最新版本代码方法
1. 客户端提交: 方法1: git add --all 或 git add 文件1 文件2 ... git commit -m '提交备注信息' git push 方法2: git a ...
- golang 映射(map)
1. 映射的定义 map是一种无序的基于key-value的数据结构,Go语言中map是引用类型,必须初始化(make)才能使用. map定义: map[KeyType]ValueType 其中,Ke ...
- 001.shell-每日练习一文件创建
001.shell-每日练习一文件创建 0x00.练习要求 在/usr/local/uz654目录下,按照xxxx-xx-xx生成一个文件,如:2023-02-11.log 把磁盘的使用情况写到这个文 ...
- Locust fasthttplocust客户端环境搭建
1.下载地址:https://github.com/locustio/locust2.python setup.py install3.在执行目录中将安装完成的locust文件夹替换至原本pip下的原 ...
- go-fastdfs断点续传功能
1)安装go-fastdfs: 可以从GitHub上获取go-fastdfs的源码,然后使用go get命令安装: go get github.com/sjqzhang/go-fastdfs 2)安装 ...
- Spring基本概述
Spring是一个开源框架,官方网站是http://spring.io/,Spring是2003年兴起的一个轻量级的Java开发框架,由lnterface21公司的JavaEE专家RodJohnson ...
- [人脸识别]06-JPG人脸检测
1-程序 #导入CV模块 import cv2 as cv def face_detect_fun(): gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY) print(c ...
- QT-groupBox组件内的组件失去交互功能
属性设置: 首先 然后 可以实现.