在docker上部署Nacos,Redis,Yapi,MongoDB,RabbitMQ,Fastdfs,用docker-compose管理容器-详细步骤

1,安装docker

安装
yum -y install docker-io
启动后台服务
service docker start
验证安装是否成功
docker

如果出现如下界面就是安装成功了

 二,在docker上安装Nacos

docker pull nacos/nacos-server

上图表示拉取成功了

三,拉去Redis,MongoDB,Yapi,RabbitMQ,Fastdfs镜像

docker pull redis:5.0.2
docker pull mongo:4.4
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
docker pull rabbitmq:management
docker pull delron/fastdfs

 四,利用docker-compose统一管理所有容器

安装docker

# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限 
chmod +x /usr/local/bin/docker-compose
# 查看版本信息 
docker-compose -version

上图表示安装成功了

4.1创建docker-compose目录

mkdir ~/docker-file/
mkdir ~/docker-file/baseSoftware
cd ~/docker-file/baseSoftware

 4.2定义docker-compose.yml文件(位于baseSoftware目录下,如果不知道咋创建文件,记得查找对应linux操作指令,文件中涉及ip的都要换成自己服务器的ip地址)

4.2.1 定义redis,mongodb,yapi,nacos所需的docker-compose.yml文件

version: "3.5"
services:
  redis:
    image: redis:5.0.2
    container_name: redis
    ports:
      - 6379:6379
    volumes:
      - /data/redis:/data
    networks:
      mynetworks:
        aliases:
          - redis
  mongo:
    image: mongo:4.4
    container_name: mongo
    ports:
      - 27017:27017
    volumes:
      - /data/mongodb/db:/data/db
      - /data/mongodb/mymongodb:/data/mymongodb
    environment:
      - MONGODB_USER=root
      - MONGODB_PASS=root
      - MONGODB_DATABASE=testdb
    networks:
      mynetworks:
        aliases:
          - mongo
  nacos:
    image: nacos/nacos-server
    container_name: nacos
    volumes:
      - /data/nacos/logs:/home/nacos/logs
    ports:
      - 8848:8848
    environment:
      - MODE=standalone    
    networks:
      mynetworks:
        aliases:
          - nacos
  yapi:
    image: mrjin/yapi:latest
    container_name: yapi
    environment:
      - VERSION=1.5.6
      - LOG_PATH=/tmp/yapi.log
      - HOME=/home
      - PORT=3000
      - [email protected]
      - DB_SERVER=mongo
      - DB_NAME=yapi
      - DB_PORT=27017
    ports:
      - 3000:3000
    volumes:
      - /data/yapi/log/:/home/vendors/log
    depends_on:
      - mongo
    entrypoint: "bash /wait-for-it.sh mongo:27017 -- entrypoint.sh"
    networks:
      mynetworks:
        aliases:
          - yapi
networks:
  mynetworks:
    name: mynetworks
    driver: bridge

4.2.2 定义Fastdfs所需的docker-compose文件

mkdir ~/docker-file/fastdfs
cd ~/docker-file/fastdfs
version: '3.5'
services:
  tracker:
    image: delron/fastdfs
    container_name: tracker
    network_mode: "host"
    volumes:
      - /data/fastdfs/tracker:/var/fdfs
    command: tracker
  storage:
    image: delron/fastdfs
    container_name: storage
    network_mode: "host"
    volumes:
      - /data/fastdfs/storage:/var/fdfs
    environment:
      - TRACKER_SERVER=自己的ip:22122
      - GROUP_NAME=group1 
    command: storage
    depends_on:
      - tracker

4.2.3定义rabbitmq所需要的docker-compose.yml文件

version: '3.5'
services:
  rmqnamesrv:
    image: rabbitmq:management
    container_name: rabbit
    ports:
      - 5672:5672
      - 15672:15672
    volumes:
      - /data/rmq/:/var/lib/rabbitmq        
    networks:
      rmq:
        aliases:
          - rmq
networks:
  rmq:
    name: rmq
    driver: bridge

最终的目录结构是这样的,每一个目录下对应有yml文件

4.3执行命令前关闭所有容器,之后删除

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
sudo docker rm $(sudo docker ps -a -q)

 4.4执行容器启动命令的时候需要和配置文件在同一个目录下

cd /root/docker-file/baseSoftware/
docker-compose up -d

cd /root/docker-file/fastdfs/
docker-compose up -d

cd /root/docker-file/rmq/
docker-compose up -d

五,验证安装成功

访问nacos

http://ip:8848/nacos/index.html#/login,账号:nacos,密码:nacos

 访问yapi

 六,fastdfs连接不上的问题

systemctl stop firewalld.service            #停止firewall
systemctl disable firewalld.service        #禁止firewall开机启动

关闭防火墙就好了

七,首次启动可能麻烦点,但是后来就好了

可以一键启动

systemctl start docker
docker start $(docker ps -aq)

猜你喜欢

转载自blog.csdn.net/2301_76875881/article/details/130809906