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

 

posted on 2022-04-15 23:55  _掌心  阅读(279)  评论(0编辑  收藏  举报