一、背景:近期整理环境,汇总了下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和常用的中间件安装汇总的更多相关文章

  1. Docker的学习--介绍和安装

    什么是 Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Lin ...

  2. 使用 docker 部署常用的开发环境

    使用 docker 部署常用的开发环境 Intro 使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便. 前段时间电脑之前返厂修了,回来之后所有的软件都 ...

  3. Docker学习(三)认识Docker和常用命令

    Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...

  4. Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试

    前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...

  5. Docker之1---介绍和安装

    Docker介绍 Docker是一个开源项目,让应用程序布署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制. Docker利 ...

  6. 【Docker入门】Docker的常用命令

    ​ ​ 了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...

  7. Docker:Ubuntu下的安装

    Docker是什么 Docker 是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎, 源代码托 管在 GitHub 上, 基于Go语言并遵从Apache2. ...

  8. Sublime Text 无法使用Package Control的解决方法 以及 常用的插件安装过程

    大概一个月之前给 Macbook air 装 Sublime Text 3 的时候,遇到过这个问题,当时解决了,现在回想,感觉忘的七七八八了,赶紧趁着还没有全忘光的时候记下来,当时的过程记得不一定准确 ...

  9. webpack常用的插件安装命令

    webpack常用的插件安装命令:1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:npm install css-loa ...

  10. Linux常用到的指令汇总

    Linux常用到的指令汇总 根据鸟哥linux私房菜上定义的:一定要先學會的指令:ls, more, cd, pwd, rpm, ifconfig, find 登入與登出(開機與關機):telnet, ...

随机推荐

  1. No.2.6

    vw/vh:(能够使用vw单位设置网页元素的尺寸) 相对单位 相对视口的尺寸计算结果 vw:viewport width(1vw=1/100视口宽度) vh:viewport height(1vh=1 ...

  2. Java内存分析利器——Eclipse Memory Analyzer工具的使用

    一.如何下载Java程序的dump内存文件并离线导入到MemoryAnalyser工具进行分析 1.jps查看Java应用的pid   jps 11584216168084 Launcher24792 ...

  3. redis运维与管理

    redis内存存储,速度极快 丰富的附件功能 1.持久化功能:降存储在内存的数据保存到硬盘 2.发布与订阅:将消息同时分发给多个客户端 3.过期键功能:为键设置一个过期时间,让它在指定的时间之后自动被 ...

  4. Docker中使用Jenkins(3)

    一.前言 上一文章介绍了docker-compose,本文介绍Jenkins自动化部署. 二.Jenkins dockerfile文件切记右键属性复制到输出目录调整为:如果较新则复制,否则在publi ...

  5. Nodejs杀死本地应用(win)

    windows端nodejs检查应用运行并杀死. import {exec, execSync} from "child_process" import {decode} from ...

  6. Oracle 详细-创建用户并导入sql文件

       0.基本信息查询SQL   select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system select * from all_u ...

  7. Mac的Dock栏是什么?Mac Dock栏使用技巧

    ​ Dock栏就是Mac电脑屏幕下方的那一排快捷键,我们可以把自己常用的程序放到Dock上面,这样可以帮助我们快速的打开自己想要打开的文件和程序,默认情况下,OS X 的 Dock 置于屏幕的底部.当 ...

  8. ubuntu配置phpmyadmin

    之前已经把LNMP环境搭建好了 安装: sudo apt-get install phpmyadmin 安装必要依赖 sudo apt-get install php-mbstring sudo ap ...

  9. vue.js----之前端路由(二)

    上一篇我们已经把vue框架搭好了,接下来我们进行路由模块 在src目录下新建router.js 添加如下代码 1 /** 2 * Created by sioxa on 2016/10/29 0029 ...

  10. vue 3.0 总线程bus引入(mitt)

    vue 3.0 移除了 $on,$off 和 $once 方法,$emit 仍然是现有 API 的一部分,因为它用于触发由父组件以声明方式附加的事件处理程序. 官方推荐使用第三方类库.  mitt举例 ...