docker部署相关应用

docker部署相关应用

docker安装Zookeeper
#下载zookeeper,jdk1.8 文件格式为tar

# 在目录zookeeperspace中,将zookeeper,jdk1.8 放进去
# 构建Dokerflie
FROM centos
MAINTAINER wupan<2451985121@qq.com>

COPY readme.txt /usr/local/readme.txt
# 自动解压
ADD jdk-8u301-linux-x64.tar.gz /usr/local/zk
ADD zookeeper-3.4.13.tar.gz /usr/local/zk
RUN mkdir data logs

RUN yum -y install vim

# 指定工作目录
ENV MYPATH /usr/local/zk
WORKDIR $MYPATH

# 定义环境变量
ENV JAVA_HOME /usr/local/zk/jdk1.8.0_301
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV PATH $PATH:$JAVA_HOME/bin
ENV PATH /usr/local/zk/zookeeper-3.4.13/bin:$PATH

ENV ZOOKEEPER_HOME /usr/local/zk/zookeeper-3.4.13
# 暴露端口
EXPOSE 2181

# 容器启动之后,启动zookeeper
CMD/ENTRYPOINT $ZOOKEEPER_HOME/bin/zkServer.sh start-foreground

# 将Dockerfile变为镜像
docker build -t mydiyzk .

# 创建docker容器
docker run -it -d --name zk -p 2181:2181 -v /data/zk_data/logs:/usr/local/zk/logs -v /data/zk_data/conf:/usr/local/zk/zookeeper-3.4.13/conf -v /data/zk_data/data:/usr/local/zk/data mydiyzk:latest

#删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
sudo docker rm $(sudo docker ps -a -q)

#根据容器的状态,删除Exited状态的容器
sudo docker rm $(sudo docker ps -qf status=exited)
docker安装RabbitMQ
#拉去镜像
docker pull rabbitmq:3.7.7-management

# 启动容器添加映射
--name #容器名称
-p #端口映射
--restart always #失败重新自启动
-d #后台方式启动
docker run -d --name rabbitmq02 -p 5672:5672 -p 15672:15672 -v /data/rabbitmq_data:/var/lib/rabbitmq --hostname myRabbit01 -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.7.7-management

#查看是否启动
docker ps

# 用户权限设置
$sudo rabbitmqctl  set_permissions -p /vhost1  user_admin '.*' '.*' '.*'
docker安装mysql
# 拉取镜像
docker pull mysql:5.7

# 启动容器
-d 后台运行
-p 端口映射
-v 数据卷挂载
-e 环境配置
--name 容器名称
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
docker集群部署Redis
# 创建网卡
docker network create redis --subnet 172.38.0.0/16

# 通过脚本创建6个redis配置
for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/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.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

# 启动容器
docker run -d -p 6371:6379 -p 16371:16379 --name redis-1 \
-v /mydata/redis/node-1/data:/data \
-v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \
--net redis --ip 172.38.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

docker run -d -p 6372:6379 -p 16372:16379 --name redis-2 \
-v /mydata/redis/node-2/data:/data \
-v /mydata/redis/node-2/conf/redis.conf:/etc/redis/redis.conf \
--net redis --ip 172.38.0.12 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

docker run -d -p 6373:6379 -p 16373:16379 --name redis-3 \
-v /mydata/redis/node-3/data:/data \
-v /mydata/redis/node-3/conf/redis.conf:/etc/redis/redis.conf \
--net redis --ip 172.38.0.13 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

docker run -d -p 6374:6379 -p 16374:16379 --name redis-4 \
-v /mydata/redis/node-4/data:/data \
-v /mydata/redis/node-4/conf/redis.conf:/etc/redis/redis.conf \
--net redis --ip 172.38.0.14 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

docker run -d -p 6375:6379 -p 16375:16379 --name redis-5 \
-v /mydata/redis/node-5/data:/data \
-v /mydata/redis/node-5/conf/redis.conf:/etc/redis/redis.conf \
--net redis --ip 172.38.0.15 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

docker run -d -p 6376:6379 -p 16376:16379 --name redis-6 \
-v /mydata/redis/node-6/data:/data \
-v /mydata/redis/node-6/conf/redis.conf:/etc/redis/redis.conf \
--net redis --ip 172.38.0.16 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

# 创建集群
redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值