Docker部署常用中间件

平时自己开发的时候需要部署很多中间件,这里用Docker可以一个虚拟机就能部署多个应用,不用开多台虚拟机了。

一个操作手册,记录大多数常见中间件的部署

Docker 安装

Centos7安装Docker

1、确定版本是centos7以上

1
cat /etc/redhat-release

2、卸载旧版本

1
2
3
4
5
6
7
8
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

3、yum安装gcc相关

1
2
3
4
yum -y install gcc
yum -y install gcc-c++
或者一条
yum -y install gcc gcc-c++

4、安装需要的软件包

1
yum install -y yum-utils

5、设置stable镜像仓库

1
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6、更新yum软件包索引

1
yum makecache fast

7、安装docker ce

1
yum -y install docker-ce docker-ce-cli containerd.io

8、启动docker

1
systemctl start docker

9、测试

1
docker version

10、卸载

1
2
3
4
systemctl stop docker 
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

阿里云镜像加速

网站

1
https://promotion.aliyun.com/ntms/act/kubernetes.html

自己上阿里云搜索容器镜像服务,然后创建镜像仓库个人版然后创建仓库,复制地址即可。

然后配置镜像加速器,跟着命令复制粘贴即可。

然后测试运行

1
docker run hello-world

然后记得在docker中登录实例。

阿里云镜像加速器目前仅限「阿里云 ECS 实例」在「同地域内网」环境下使用,且只支持拉取部分官方镜像。
如果你在 本地电脑、非阿里云服务器、或通过公网访问即使配置了加速地址,也会被拒绝(返回 403 或超时)

Nacos

注册中心,首先我们前提是已经安装好了Docker,然后拉取Nacos

1
2
3
4
5
6
7
8
docker pull nacos/nacos-server:1.2.1
docker run -d \
> --name nacos-standalone \
> -p 8848:8848 \
> -p 9848:9848 \
> -p 9849:9849 \
> -e MODE=standalone \
> nacos/nacos-server:1.2.1

单机版启动nacos,然后通过Ifconfig查到centos7的ip地址然后访问http://ip地址:8848/nacos账号和密码都是nacos

然后docker ps 看看是否有没有启动好。

Redis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1、在CentOS宿主机下新建目录 /app/redis
mkdir -p /app/redis
将一个redis.conf文件模板拷贝进/app/redis目录下
cp /myredis/redis.conf /app/redis/
修改的东西
1、开启redis验证requirepass 123
2、允许redis外地连接 必须 注释掉# bind 127.0.0.1
3、daemonize no ,yes改为no,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
4、开启redis数据持久化appendonly yes 可选
使用redis6.0.8镜像创建容器(也叫运行镜像)
docker run -p 6379:6379 --name myr3 --privileged=true
-v /app/redis/redis.conf:/etc/redis/redis.conf
-v /app/redis/data:/data
-d redis:6.0.8
redis-server /etc/redis/redis.conf

docker exec -it 运行着Rediis服务的容器ID redis-cli