返回顶部
首页 > 资讯 > 数据库 >基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer
  • 208
分享到

基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer

dockerjavalinux运维 2023-09-24 11:09:03 208人浏览 独家记忆
摘要

目录 一、Linux环境配置 二、Docker、docker-compose 1、docker安装 2、Docker-Compose 安装    1、基于docker-compose安装nacos、redis、mysql、rabbitmq、

目录

一、Linux环境配置

二、Docker、docker-compose

1、docker安装

2、Docker-Compose 安装

   1、基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql

   2、执行命令

3、配置openjdk:8

4、配置自己的项目

5、nacos无默认密码问题

一、linux环境配置

配置静态IP

wondows+r,输入cmd——》ipconfig

 Linux上输入cd /etc/sysconfig/network-scripts,然后vi ifcfg-ens33 

 然后,重启网络 service network restart

 

配置yum源

1.先安装 wgetyum install wget -y2.备份旧的 yum源mv /etc/yum.repos.d/Centos-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak3.获取阿里yum源配置文件wget -O /etc/yum.repos.d/CentOS-Base.repo Http://mirrors.aliyun.com/repo/Centos-7.repo4.更新缓存 yum makecache5. 查看yum -y update

查询端口号占用情况

# 想使用指定的命令需要事先下载netstatyum -y install net-tools# 查看端口号占用情况netstat -naop | grep 端口号# 强制关闭某个进程,不要随意使用kill -9 进程id

解压缩

tail [-f] 文件名:查看实时文件内容,主要用来查看日志内容
        需要按下control+c结束命令
    tar [-zxcvf] 压缩文件名 目录:生成压缩文件或者是解码
        tar -zcvf a.tar.gz a:把目录a生成压缩文件
        tar -zxvf a.tar.gz :解压到当前目录
        解释参数:
        z:压缩文件 .tar.gz,不能省略
        c:生成,和x对立
        v:过程,显示生成过程或者压缩过程,可以省略
        x:解压,和c对立
        f:文件,压缩文件名,不能省略
        
        解压的通用命令:
        tar -zxvf 压缩文件名.tar.gz :解压文件
        压缩的通用命令:
        tar -zcvf 压缩文件名.tar.gz 对应目录:生成压缩文件

基于Linux搭建环境

待更新.............

二、Docker、docker-compose

1、docker安装

Docker的核心概念:
        1.镜像(image):一堆软件的集合,Docker中的镜像,会包含软件安装包本身,还有依赖的其他软件安装包
            比如:Tomcat镜像=Tomcat软件的安装包+jdk安装包+JDK自动配置
        2.容器(container):通过镜像安装之后的东西,软件
        3.数据卷(Data Volumes):磁盘,虚拟的
        4.网络(Network):网络,每个容器都有自己的ip和端口
        5.仓库(Repository):存储镜像的地方

    1、下载docker引擎

         curl -sSL https://get.daocloud.io/docker | sh

·   2、验证是否安装成功

        docker version

    3、操作Docker
        启动服务
        systemctl start docker
        停止服务
        systemctl stop docker
        重启服务
        systemctl restart docker
        查看服务状态
        systemctl status docker

注意: Docker下载的镜像,默认是从国外服务器下载慢,所以实际中配置镜像加速器
    配置步骤:
     1、新增docker配置
    vim /etc/docker/daemon.JSON 
    输入以下内容:
    {
        "reGIStry-mirrors": [
            "https://registry.docker-cn.com"]
    }
    2、重新加载配置
    systemctl daemon-reload
    3、重启Docker服务
    systemctl restart docker

    4、Docker命令

    docker images:查看服务器的镜像文件
    docker search 镜像名称:搜索仓库是否存在指定的镜像
    docker pull 镜像名称:版本号:下载镜像,版本号可以省略,省略的话就是:latest
    docker ps:查看运行的容器
    docker ps -a:查看安装的所有容器
    docker inspect 容器名称:查看容器详情
    docker logs 容器名称:查看容器的运行日志
    docker start 容器名称:启动容器
    docker restart 容器名称:重新启动容器
    docker stop 容器名称:停止容器
    docker run:最常用的命令,创建并运行容器,如果对应镜像的不存在还会下载镜像
    docker rm 容器名称:删除容器,但是容器必须停止
    docker rmi 镜像名称:版本号:删除镜像
    docker exec -it 容器名称 bash:进入到容器内部,虚拟机
    docker system df:查看Docker所占磁盘

    docker system prune:只删除停止的容器和没有版本的镜像

    docker system prune -a:删除所有的停止的容器和镜像

   5、基于Docker安装Tomcat

        1.创建映射路径

          mkdir -p /docker/tomcat/WEBapp8081

        2.创建并运行Tomcat容器

          docker run -d --name tomcat8081 -p 8081:8080 -v               /docker/tomcat/webapp8081:/usr/local/tomcat/webapps/ tomcat:9.0.33

       3.查看是否安装成功

docker ps

  6、基于Docker安装Mysql

docker run -d --name  Mysql3306 -e mysql_ROOT_PASSWord=123456 -p 3306:3306 mysql:5.7

  7、基于Docker安装nacos

  8、基于Docker安装RabbitMQ 
创建并运行:
docker run -d --name RabbitMQ  -p15672:15672 -p 5672:5672 rabbitMQ:management

注意:

15672:15672——>url地址

5672:5672——>yml配置端口

rabbitmq:management——>镜像

2、Docker-Compose 安装

下载

sudo curl -L "https://GitHub.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

授权

sudo chmod +x /usr/local/bin/docker-compose

软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试

docker-compose -version

1、基于docker-compose安装NacosRedis、mysql、rabbitmq、pgsql

  1. 创建docker-compose.yml文件,用于存储安装信息
version: "3.9"services:  nacos:    image: nacos/nacos-server:v2.0.4    container_name: nacos-standalone-mysql    environment:      - PREFER_HOST_MODE=ip      - MODE=standalone      - spring_DATASOURCE_PLATFORM=mysql      - MYSQL_SERVICE_HOST=mysql      - MYSQL_SERVICE_DB_NAME=nacos      - MYSQL_SERVICE_PORT=3306      - MYSQL_SERVICE_USER=root      - MYSQL_SERVICE_PASSWORD=paswword      - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&SocketTimeout=3000&autoReconnect=true&useSSL=false      - NACOS_AUTH_ENABLE=true      - JVM_XMS=512m      - JVM_XMX=512m      - JVM_XMN=256m    volumes:      - /opt/env/nacos/logs/:/home/nacos/logs      - /opt/env/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties    depends_on:      - mysql        ports:      - 18848:8848      - 19848:9848    networks:       - app-tier    restart: always  postgres:    container_name: postgres    image: postgres:11.15    privileged: true    ports:      - 15432:5432    environment:      - POSTGRES_PASSWORD=password      - TZ=Asia/Shanghai    volumes:      - /opt/env/postgres/data:/var/lib/postgresql/data    networks:      - app-tier    restart: always  redis:    image: redis:6.2.6    container_name: redis    environment:      - TZ=Asia/Shanghai      - requirepass=password    ports:      - 16379:6379    command: ["redis-server","/etc/redis/conf/redis.conf"]    volumes:      - /opt/env/redis/conf:/etc/redis/conf      - /opt/env/redis/data:/data    networks:      - app-tier    restart: always      rabbitmq:    image: rabbitmq:3.9.14-management    hostname: rabbitmq    container_name: rabbitmq    ports:      - 15672:5672      - 15673:15672    environment:      - RABBITMQ_DEFAULT_USER=user      - RABBITMQ_DEFAULT_PASS=password    volumes:      - /opt/env/rabbitmq/data:/var/lib/rabbitmq/mnesia      - /opt/env/rabbitmq/config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf    networks:      - app-tier    restart: always    o:    image: bitnami/miNIO:2022.4.1    container_name: minio    environment:      - MINIO_SERVER_HOST=minio      - MINIO_ROOT_USER=user      - MINIO_ROOT_PASSWORD=password    volumes:      - /opt/env/minio/data:/data    ports:      - 19000:9000      - 19001:9001    networks:      - app-tier    restart: always  zipkin:    image: openzipkin/zipkin:2.23    container_name: zipkin    environment:      - STORAGE_TYPE=mysql      - MYSQL_DB=zipkin      - MYSQL_USER=root      - MYSQL_PASS=password      - MYSQL_HOST=mysql      - MYSQL_tcp_PORT=3306    ports:      - 19411:9411    depends_on:      - mysql    networks:      - app-tier    restart: always    zipkin-dependencies:    image: openzipkin/zipkin-dependencies:2    container_name: zipkin-dependencies    entrypoint: crond -f    environment:      - STORAGE_TYPE=mysql      - MYSQL_DB=zipkin      - MYSQL_USER=root      - MYSQL_PASS=password      - MYSQL_HOST=mysql      - MYSQL_TCP_PORT=3306    depends_on:      - mysql    networks:      - app-tier    restart: always  mysql:    image: mysql:5.7.37    container_name: mysql    environment:      - MYSQL_ROOT_PASSWORD=password      - TZ=Asia/Shanghai    command: --default-authentication-plugin=mysql_native_password    volumes:      - /opt/env/mysql/data:/var/lib/mysql      - /opt/env/mysql/logs:/var/log/mysql      - /opt/env/mysql/init:/docker-entrypoint-initdb.d/      - /opt/env/mysql/config/my.cnf:/etc/my.cnf    ports:      - 13306:3306    networks:      - app-tier    restart: always  portainer:    image: portainer/portainer-ce:2.13.0    container_name: portainer    volumes:      - /var/run/docker.sock:/var/run/docker.sock      - /opt/env/portainer/data:/data    ports:      - 18000:8000      - 19443:9443    networks:      - app-tier    restart: always  Nginx:    image: nginx:1.22.0    container_name: nginx    environment:      - TZ=Asia/Shanghai    volumes:      - /opt/env/nginx/templates:/etc/nginx/templates    ports:      - 80:80      - 443:443    networks:      - app-tier    restart: alwaysnetworks:  app-tier:    name: app-tier    driver: bridge

 注意:不要忘记创建主机上的映射目录及配置文件

custom.properties配置文件(nacos)

官方配置nacso手册:

控制台手册

spring.security.enabled=truemanagement.security=truesecurity.basic.enabled=true# 忽略的资源配置nacos.security.ignore.urls=/,*.CSS,*.js,*.html,*.map,*.svg,*.png,*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**

rabbitmq.conf配置文件

loopback_users.guest = falselisteners.tcp.default = 5672default_user_tags.administrator = truedefault_permissions.configure = .*default_permissions.read = .*default_permissions.write = .*hipe_compile = falsemanagement.listener.port = 15672management.listener.ssl = false

my.cnf配置文件(mysql)

[mysqld]user=mysqldefault-storage-engine=INNODBcharacter-set-server=utf8[client]default-character-set=utf8[mysql]default-character-set=utf8

redis.conf配置文件

bind 0.0.0.0port 6379tcp-backlog 511timeout 0tcp-keepalive 0protected-mode nodatabases 16requirepass redis@123

   2、执行命令

docker-compose -f /usr/local/xxxx.yml up -d

此处基础环境配置完成。

   3、配置openjdk:8

执行命令,拉取镜像

 docker pull openjdk:8

    4、配置自己的项目

        1、生成的镜像

         2、创建容器

个人补充:

对于nacos这些容器的配置文件,需要进入到容器内部进行查看,操作:docker exec -it nacos bash

对于权限受阻问题:/opt/bitnami/scripts/libminio.sh: line 316: /data/.root_user: Permission denied或者连接不上mysql的情况

基本是因为本地映射文件权限不够高,请设置:chmod 777/755  xxx

服务器配置问题(配置过高,但资源不够):造成容器正常启动,但浏览器不能启动

5、nacos无默认密码问题

naocs官网上面有新增nacos密码介绍,链接:控制台手册 (nacos.io)


    

来源地址:https://blog.csdn.net/weixin_43776126/article/details/126423775

您可能感兴趣的文档:

--结束END--

本文标题: 基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer

本文链接: https://lsjlt.com/news/416864.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作