Docker学习之路(七) 软件安装篇

Docker学习之路(七) 软件安装篇 mysql 、mongodb、redis-cluster、rabbitmq

Docker 学习之路 --软件安装篇

加深docker学习映像 安装多个项目可能所用软件 把开发项目打成镜像运行

镜像的各种版本号 具体可查看 Dokerhub 官网:Docker Hub

特别提醒:像数据存储之类的容器 最好是选择数据卷挂载 这样才能更好的保存数据,否则因失误操作删除容器数据丢失悔不则已。

(一) mysql 安装

在docker 中 拉取咱们的 mysql 镜像 并运行容器实例
1.拉取对应镜像
docker pull mysql:5.7.30

Docker学习之路(七) 软件安装篇_第1张图片

2.根据镜像 运行容器实例 (暴露端口 数据挂载 用户密码设置等)
docker run -d -p 3306:3306 --name mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=你要设置的root密码 mysql:5.7.30 

Docker学习之路(七) 软件安装篇_第2张图片

3.测试连接

(二) mongodb 安装

1.拉取对应镜像
docker pull mongo:4.2.5
2.根据镜像 运行容器实例 (暴露端口 数据挂载 用户密码设置等)
docker run -d -p 27017:27017 --name mongo425 -v /usr/local/mongo/conf:/etc/mongo/mongod.conf -v /usr/local/mongo/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=超管账户 -e MONGO_INITDB_ROOT_PASSWORD=超管密码 mongo:4.2.5

image-20200531110112031

3.测试连接

(三) Redis-cluster 集群安装

个人本次采用的是 redis5.0.5 版本

1.先拉取 一个redis5.0.5 镜像
docker pull redis:5.0.5
2.创建配置文件和数据目录

创建 redis-cluster 目录 (存放配置以及数据)

mkdir -p /usr/local/redis-cluster

进入目录内

cd /usr/local/redis-cluster

编写一个集群创建模板

sudo vim redis-cluster.tmpl

填入如下内容:

注意:配置中 cluster-announce-ip 注意换为自己的IP啊

# redis每个节点的端口
port ${PORT}

#开启网络,保证外部可连接
bind 0.0.0.0

# 关闭保护模式
protected-mode no

#设置redis访问密码为Redis123
requirepass Redis123

#设置集群节点间访问密码,密码需跟上面一致
masterauth Redis123

# 开启集群
cluster-enabled yes

# 集群节点配置
cluster-config-file nodes-${PORT}.conf

# 超时
cluster-node-timeout 5000

# 集群节点IP host模式为宿主机IP
cluster-announce-ip 自己的IP啊

# 集群节点端口 7000 - 7005
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}

#集群pid 文件
pidfile /usr/local/redis-cluster/${PORT}/redis-${PORT}.pid

# 开启 appendonly 备份模式
appendonly yes

# 每秒钟备份
appendfsync everysec

# 对aof文件进行压缩时,是否执行同步操作
no-appendfsync-on-rewrite no

# 当目前aof文件大小超过上一次重写时的aof文件大小的100%时会再次进行重写
auto-aof-rewrite-percentage 100

# 重写前AOF文件的大小最小值 默认 64mb
auto-aof-rewrite-min-size 5120mb

# 关闭快照备份
save ""

3.批量创建配置文件和数据目录 (进入/usr/local/redis-cluster 后在终端执行)
for port in `seq 7000 7005`; do \
        mkdir -p ./${port}/conf \
        && PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf \
        && mkdir -p ./${port}/data; \
        done

Docker学习之路(七) 软件安装篇_第3张图片

随机进入一个文件夹 查看配置文件 发现端口已经是动态更改好了

Docker学习之路(七) 软件安装篇_第4张图片

4.批量启动 redis 容器

注意:这里的–memeory=1G是限制单个 docker 容器占用内存大小为 1G,超过会被进程杀死。 因为我自己服务器较小 (如不需要限制内存大小 则取消 --memory 参数即可)

for port in `seq 7000 7005`; do \
        docker run -d -it --memory=1G \
        -v /usr/local/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
        -v /usr/local/redis-cluster/${port}/data:/data \
        --restart always --name redis-${port} --net host \
        --sysctl net.core.somaxconn=1024 redis:5.0.5 redis-server /usr/local/etc/redis/redis.conf; \
        done

Docker学习之路(七) 软件安装篇_第5张图片

5.创建redis-cluster 集群

随意进入一个redis 容器中 执行集群创建语句

docker exec -it redis-7000 /bin/bash

执行集群创建语句

redis-cli -a Redis123 --cluster create 192.168.10.122:7000 192.168.10.122:7001 192.168.10.122:7002 192.168.10.122:7003 192.168.10.122:7004 192.168.10.122:7005 --cluster-replicas 1

Docker学习之路(七) 软件安装篇_第6张图片

然后提示创建 成功 就可以测试一波了

Docker学习之路(七) 软件安装篇_第7张图片
6.附赠

如果需要删除doker 搭建的redis 容器

for port in `seq 7000 7005`; do \
 docker stop redis-${port};
 docker rm redis-${port};
done

(四)Rabbitmq 单机安装

1.拉取对应镜像
docker pull rabbitmq:management
2.启动镜像

1.使用默认guest账户 /密码登录

docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management

2.自定义用户名和密码

docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=用户名 -e RABBITMQ_DEFAULT_PASS=密码 -p 15672:15672 -p 5672:5672 rabbitmq:management

Docker学习之路(七) 软件安装篇_第8张图片

(五)安装docker容器可视化 Portainer

1.拉取对应镜像

还是拉取最新版

docker pull portainer/portainer

Docker学习之路(七) 软件安装篇_第9张图片

2.选择模式进行启动
远程模式

即安装 portainer 与需要连接的dokcer或许不在一个服务器 那么这时候,我们可以通过端口IP 去连接另一个服务器的docker ,即远程连接模式 (当然 ,远程连接后 选择 本机docker的端口IP 一样可以监听到)

docker run -d -p 9000:9000 --restart=always --name prtainer portainer/portainer

Docker学习之路(七) 软件安装篇_第10张图片

本机模式

即安装 portainer 与需要连接的dokcer在一个服务器,那么本机模式启动即可

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name prtainer portainer/portainer
3.访问Portainer容器:http://IP:9000

Docker学习之路(七) 软件安装篇_第11张图片

连接docker

选择Local,代表本地模式,portainer仅管理本机的docker容器

选择Remote,代表远程模式,名称随意,在Endpoint URL中填写docker节点的地址:docker远程端口

说明下:

docker 默认是未开启外部访问的

需要连接docker的话 咱们需要额外配置,使其开启远程访问

vim /usr/lib/systemd/system/docker.service

注意查看文件 稍微修改一点

image-20200524184314558

保险起见 复制之前的文件并注释

使用我们下边这行代码配置 其暴露端口 随意 (注意安全组以及防火墙开放对应)

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:6500 -H unix:///var/run/docker.sock

重启

systemctl daemon-reload
systemctl restart docker

这样, 该docker 才能被远程通过ip:端口及访问 例如我们的 portanier 或者idea 连接服务器上的 docker

Docker学习之路(七) 软件安装篇_第12张图片

Docker学习之路(七) 软件安装篇_第13张图片

Docker学习之路(七) 软件安装篇_第14张图片

可视化操作docker

然后就可以管理我们的镜像以及容器了,非常方便

Docker学习之路(七) 软件安装篇_第15张图片

你可能感兴趣的:(docker,docker,linux)